內容 (by 高煥堂)
-
今日決策、未來投資與AHP評估分析
-
決策分析範例:評估智慧城市頂層設計的<系統架構>
-
介紹AHP層次分析法
-
AHP應用範例:評估軟件開發計劃
ee ee
如何評估A段架構設計呢? 微軟也常使用AHP分析
1、今日決策、未來投資和AHP評估分析
1.1 <今日決策>的未來性
----今日決策的未來性攸關企業或組織的未來發展。智慧城市的頂層設計團隊是規劃者,也是決策者。其透過架構<設計>來創造<目前(今日)決策>的未來性。對一個企業或組織而言,所謂未來性就是未來競爭主導性。所以,架構設計不僅要適應未來的變化,而且要讓企業、組織、產品或系統在未來多變的需求趨勢、時尚空間裏取得市場的競爭話語權。頂層設計團隊的職責是致力於現在決策,並讓它能包容未來的變化,也就是讓<目前決策>具有未來性。但值得留意的是,主要職責不是去預測未來(的標準),不是去關心<未來決策>、去預先替未來做決策。實現環境的需求是善變的、市場主導權之競爭也往往如流水般不可測;也就是因爲它的未來的不可測性,所以我們需要優越的架構設計。
----規劃一個智慧城市的美好未來,需要進行許許多多的現在決策。如何確保現在決策的未來性呢? 除了頂層設計團隊的新視野、好眼光和洞悉力之外;還可以藉重更多專家來協助客觀地評估各種設計方案或未來的投資計劃。如此,讓智慧城市達到高度創新、又客觀可靠的美好境界。
當我們相信目前決策會影響一個城市的未來發展軌跡時,頂層設計團隊不斷在尋覓多條行得通的途徑,然後透過能量化的客觀性分析,讓各界專家們共同關注和投入,一起評選出<最具有未來性>的途徑,做爲一個城市的未來投資和發展藍圖。由於是一條具有未來性的途徑,其意味着繼續走下去,遇到阻力時,會有足夠的轉圜空間;持續邁向永續發展的未來。
1.2 如何評估複雜決策:採AHP方法
----頂層架構設計是要規劃一個城市的未來美好情境。這種架構,通稱爲:未來(To-be)架構。與此相對映的是:現況(As-is)架構。頂層設計涵蓋了各項未來投資,讓城市從現況(As-is)逐漸成長、演進,邁向未來(To-be)的美好情境。然而,這些投資項目,現在就必須規劃、設計和決策,這稱爲:目前(即現在)決策。因此,頂層設計的內容就涵蓋了:目前決策、未來投資和To-be架構。
----那麼,我們又如何選擇最好的決策、評估最好的投資、實踐最美好城市呢? 除了頂層設計人員的主觀評估之外,我們還需要仰賴定量、定性的分析方法和工具來協助評選出最好的設計決策和投資方案。在本文裏,就來介紹一項非常著名的決策分析工具:AHP層次分析法(Analytical Hierarchy Process)。例如,如何確知某個設計或投資方案(Solution)適合於該智慧城市呢?
我們就可使用AHP方法來評估這項適用性。AHP是個很有趣又很有用的東西,它提供一個有效的方法去進行復雜的決策,無論在一般生活、商業或學術研究上,都有很精采的應用。AHP是將複雜的決策情境切分爲數個小部份,再將這些部分組織成爲一個樹狀的層次結構。如下圖:
圖-1 AHP層次分析法的結構圖
----然後,對每一個部份的相對重要性給予權數值,然後進行分析出各個部份優先權。對決策者而言,以層次結構去組織有關候選方案(Alternative)的評選條件或準則(Criteria)、權數(Weight)和分析(Analysis),非常有助於對事物的瞭解。
此外,AHP可協助捕捉主觀和客觀的評估測度,檢驗評估的一致性,以及團隊所建議的替代方案,減少團隊決策之失誤、失焦等。AHP將整個問題細分爲多個較不重要的評估,但還維持整體的決策。
----自從1970年代,華頓(Wharton)商學院的Thomas Saaty博士提出AHP方法以來,它已經很成功地應用於全球的千千萬萬企業組織的決策分析上。數十年來的實證經驗顯示,在商業和政府的複雜決策分析方面,AHP是非常有效的方法。目前,市面上也有許多種軟件工具,讓人們能運用計算機來做快速的分析運算。例如,MarketRational公司的AHP
Software軟件系統,其畫面如下:
圖-2 MarketRational公司的AHP軟件畫面(一)
圖-3 MarketRational 公司的AHP 軟件畫面(二)
----AHP可讓人們在面對複雜的決策時,能評選出最佳(Best)的決策,而不是找出正確(Correct)決策。除了架構設計人員自己的評估之外,還能由更多外界專家組來提供評選準則(Criteria)和權數(Weight),並利用計算機來分析。例如,針對某一個城市的頂層設計,就能廣泛邀請外界更多專家來參與分析和評估;大幅提升頂層設計的質量和可靠度。AHP最常見的決策應用情境如下:
-
從多個候選方案,評選出一個最好的。例如選擇一個公交車轉運站地點。
-
從多個候選方案,評選出數個較好的。例如公交車轉運站建築設計競賽的初賽,先評選出數個具有創意的設計構思,進入決賽。
-
從多個候選方案,進行評比,並排列出其評比值的高低順序。例如決賽的評分,決定出金、銀和銅牌得主。如下圖:
圖-4 高煥堂開發的AHP手機應用軟件
----這個AHP工具能分析及評選出5支最理想的手機。
-
從多個候選方案,進行評比,並排列出其優先性(Prioritization)。例如決定投資項目的優先性,提供最佳的資金或資源分配方案。
-
敵我優勢評比。例如新產品開發,與競爭產品進行多角度分析評比。例如,AHP應用於企業的市場競爭策略分析:
圖-5 IBM公司的AHP軟件畫面
【歡迎關注我(高老師)的新微博:@讓您成爲傑出架構師】
2、 決策分析範例:評估頂層設計的<系統架構>
----在筆者的在筆者提出的 “敏捷智能城市頂層設計方法” 裏,建議使用EA(Enterprise
Architecture)模式來進行頂層架構設計。在近20年來,許多實務上,EA模式和AHP方法的組合應用,獲得美好的效果。例如,著名的EA工具:英國的MoDAF框架,搭配AHP方法,成爲<架構+決策>的有效投資決策模式。依據MoDAF框架,針對一套特定的<業務架構(Operational View,簡稱OV)>,可規畫許多套的<SV(System View,簡稱SV)來支撐該OV。換句話說,針對一個OV,可徵求許多不同的團隊來設計SV;於是有了許多不同的SV候選方案。其運行流程是:
Step-1. 針對目標(如智慧城市)而徵求多套的OV業務架構。
Step-2. 這些OV業務架構,就成爲多個候選方案;依據AHP方法而評選出一項最佳的OV業務架構。
Step-2. 針對該套最佳的OV業務架構,而徵求多個SV系統架構,成爲多個候選方案。
Step-3. 然後,從衆多SV候選方案之中,依據AHP方法而評選出一項最具優勢的SV系統架構。
Step-4. 最後才根據此最佳的OV+SV架構設計方案而施工,建造出高質量的系統。
就如英國的MoDAF官方文件所寫道:
「OV表達需求,SV表達如何實現該需求。於是,我們可以規劃許多套不同的SV方案來實現該需求。」
如下圖所示:
圖-6 Trading off alternative SVs and OV(摘自MoDAF官方文件)
MoDAF的官方手冊又補充說明:
「基於上圖的OV和SV的結構和行爲觀點,能迅速判斷出那些功能應由人員執行,而那些應該由系統執行,進而依據風險、成本和可靠度等準則來分析和評比,以便找出最佳方案。」
典型的AHP分析模型是一個層次的評估準則結構,在這結構的最末層就是各項候選方案(Choice 或Trade-Off)。如下圖所示:
圖-7 建立出SV的評選準則的層次體系
----AHP能用來評選好的頂層架構設計。同時也能成爲頂層設計裏的一項評選模式,可評選最佳的中層設計,以及實踐層設計。因此,AHP成爲EA-Based頂層設計的一個重要工具,例如協助評選最佳的實踐方案,也就是最佳的投資計劃。
3、介紹AHP層次分析法
3.1 AHP應用與軟件工具
----AHP是個很有趣又很有用的東西,它提供一個有效的方法去進行復雜的決策,無論在一般生活、商業或學術研究上,都有很精采的應用。例如:
-
軟件開發管理之應用:在微軟的MSDN文件裏,其利用AHP方法來評選3個軟件開發計劃,以決定那一個是最好的計劃。請參閱: http://msdn.microsoft.com/msdnmag/issues/05/06/TestRun/default.aspx
-
一般生活上之應用:例如,想找一個理想的工作,而理想的評選標準有三:錢多、事少、離家近。那麼,AHP方法就派上用場了。
-
商業上之應用:例如全球性運輸公司利用AHP方法評選最佳轉運港口。
----AHP方法是由Thomas L. Saaty教授所研究發展出來的,其適合多評選標準(Multi-Criteria)的複雜決策。目前市面上有許多軟件工具可用,包括最著名的Expert Choice軟件系統,以及免費網絡上AHP軟件或服務等。筆者(高煥堂)也開發了一個Android智能手機的AHP軟件系統,如下圖-8所示。
3.2 AHP的重要概念:以評選工作(Job)爲例
筆者(高煥堂)依循AHP的分析法則,開發一個Android移動終端上可執行的軟件系統。如下圖:
圖-8 筆者(高煥堂)開發的移動AHP軟件畫面
----首先,釐清AHP的四項重要概念:
-
1) 候選方案(Choice或Alternative)
這是業主(或用戶)所想做的決策:評選出最佳方案。例如,從3個工作機會裏挑選出最適合自己的。或如古代的男女結婚,採門當戶對思維;常常許多媒人登門來提親。於是,準新娘(或準新郎)及其家人,就常常面臨如何評選適合對象的情境。這些被評選的對象就是<候選方案>了。
-
2) 評選準則(Criteria)
----在古代門當戶對潮流下,許多年輕人會徵詢父母的意見,父母常常會提出嚴格的擇親條件,甚至父母還會向媒人徵詢更具專業性的評選條件。這些評選條件就是<評選準則>了。這些評選準則是來自外界(非準新娘或新郎)的專家,更大幅提高了評選的客觀性和準確性。或許在今天自由戀愛潮流下,相親的外在客觀性並不重要。然而,對於智慧城市的公共投資方案的客觀評選準則,常常是非常重要的。AHP的優點之一,就是讓外界專家羣能以其專業來協助業主做出最佳的、最客觀的決策。
----在上圖-8裏,可以看到業主想從多個候選工作(Job)之中挑選其一。而專家提供了3個主要評選準則:錢多、事少、離家近。然後,又細分出9個小準則;例如,將<事少>這項大準則又細分出3項小準則:不加班、應酬少、可外出。此外,還可以繼續細分出更多層級的評選準則;例如,將<可外出>這項小準則又細分出2項小小準則:不須請假、不扣薪水。如下圖所示:
圖-9 多層次的評選準則
因此,大家就稱AHP爲層次分析法。
-
3) 權數比重(Weight)
剛纔的評選準則是由專家提供的,讓專家的知識和智慧能爲業主所用,達到協助業主做好決策的目標。接下來,大家(包括業主和專家)一起思考、取得共識,給與各評選準則所佔的比重,又稱爲權數(Weight)。在實務應用上,業主對於權數的決定權,往往比專家來得大一些。以找工作爲例,不同求職者(業主),基於本身既有條件,會大大影響其權數的決定。例如,比較富裕求職者,他對<錢多>這項準則的權數比重,往往會較低。
-
4) 貢獻度評估(Evaluation)
針對一組候選方案,有了<專家智慧>的評選準則,並且考慮<業主自身條件>而得出權數比重。接下來,就在上圖-9所示的多層級評選準則體系的引導之下,逐一實際考察各候選方案,客觀地評估各候選方案,對該評選準則的貢獻度。例如,上圖-9裏有個小小評選準則:不扣薪水。於是,去考察3個候選的工作機會,得到重要信息:
Job-1:其公司規定,每次外出超過2小時就扣半天薪水。
Job-2:其公司規定,外出不扣薪水。
Job-3:其公司規定,每次外出超過4小時就扣一天薪水。
於是,客觀地評估出來,就<不扣薪水>準則而言,各工作機會的貢獻度(評比)值爲:Job-1的貢獻度是:0.1;Job-2的貢獻度是:0.7;Job-3的貢獻度是:0.2。如下圖:
圖-10 貢獻度評估範例(一)
再如,上圖-9裏有個小小評選準則:不須請假。於是,去考察3個候選的工作機會,得到重要信息:
Job-1:其公司規定,外出必須請假,但必須早上籤到和下午簽退。
Job-2:其公司規定,外出必須請假。
Job-3:其公司規定,外出不須請假。
於是,客觀地評估出來,就<不須請假>準則而言,各工作機會的貢獻度(評比)值爲:Job-1的貢獻度是:0.2;Job-2的貢獻度是:0.0;Job-3的貢獻度是:0.8。如下圖:
圖-11 貢獻度評估範例(二)
----從以上的說明,可知道:評選準則是由專家提供的,代表了專家的專業知識。至於權數比重,則主要是業主的衡量(或稱偏好)。至於貢獻度,也算是一種特殊的權數比重;但是它並不是業主的偏好值;而是客觀的評估值。值得留意的是,上圖裏的範例,只含有3個候選方案(即3個Job),我們還很容易評估出來它們之間的貢獻度比率是:0.2:0.0:0.8。如果有更多候選方案(可能10個以上)時,又如何得出這項貢獻度比值呢? 答案是:<兩兩相比>;又稱爲<成對相比>。再下一小節裏,會詳細說明之。
3.3 細說AHP分析的步驟
AHP分析包含4個步驟:
Step-1. 分解(Decomposing)
----將整個問題分解爲多個小問題。例如,整個問題是:想找一個理想的工作。各項工作都有三個屬性(attribute),因而將理想分爲三個評選條件:「錢多、事少、離家近」。
Step-2. 加權(Weighing)
賦予三個評選條件的權數,例如:錢多(0.643)、事少(0.283)、離家近(0.074)。其表示主觀上認定「錢多」比其它兩項重要。如圖-12所示。從圖中可看出,相對上Job-2對「離家近」的貢獻度高於Job-1;但是在決策者心目中「離家近」的相對權數只有0.074而已,意味着決策者並不太在意「離家近」這項條件。
圖-12 問題之分解與加權
Step-3. 評估(Evaluating)
針對Job-1
Job-1對「錢多」的貢獻度爲0.2,而「錢多」對總目標(即「理想」)的貢獻度爲0.643,所以Job-1透過「錢多」對總目標的貢獻度爲:0.2 * 0.643 = 0.129。Job-1對「事少」的貢獻度爲0.875,而「事少」對總目標(即「理想」)的貢獻度爲0.283,所以Job-1透過「事少」對總目標的貢獻度爲:0.875 * 0.283 = 0.248。Job-1對「離家近」的貢獻度爲0.111,而「離家近」對總目標(即「理想」)的貢獻度爲0.074,所以Job-1透過「離家近」對總目標的貢獻度爲:0.111
* 0.074 = 0.008。於是可算出Job-1所表現的理想度爲:0.129 + 0.248 + 0.008 = 0.385。
針對Job-2
依據同樣的程序,可算出Job-2的情形:
-
Job-2透過「錢多」對總目標的貢獻度爲:0.8 * 0.643 = 0.514。
-
Job-2透過「事少」對總目標的貢獻度爲:0.125 * 0.283 = 0.035。
-
Job-2透過「離家近」對總目標的貢獻度爲:0.889 * 0.074 = 0.066。
於是可算出Job-2所表現的理想度爲:0.514 + 0.035 + 0.066 = 0.615。
Step-4. 選擇(Selecting)
從上述Step-3分析出:
-
Job-1的理想度爲0.385。
-
Job-2的理想度爲0.615。
所以建議:Job-2是較好的選擇。
3.4 如何加權:兩兩相比法
3.4.1成對相比(又稱爲:兩兩相比)
針對上圖-11裏的<不須請假>評估準則,可看出Job-1、Job-2和Job-3三者的權數比爲:0.2:0.0:0.8。然而,當有更多候選方案(可能10個以上)時,並不容易得到這個權數值,此時可以兩兩成對相比,會比較簡單。例如,下圖裏只有兩個Job相比,每個人都很容易說出兩個Job的比較值。下圖的三角形偏向Job-2,從其偏移的比例推算出其權數爲02: 0.8。
以此類推,從下圖的3個三角形的兩兩比較之偏移比例,可以聯合推算出其權數比Wx : Wy : Wz。
所以,在AHP方法裏,通常都輸入x:y、x:z和y:z之比值,如下:
然後,經由下一小節(12.3.2)所將敘述的計算步驟而演算出Wx、Wy和Wz之權數值,如下:
總而言之,人們經常不容易說出Wx : Wy : Wz三者之間的比値,但是比較容易說出兩兩相比的x:y、y:z和x:z之比値。在AHP方法裏,通常使用下圖裏的刻度表來敘述人們心中的相對權重。
例如,此刻度代表偏好程度,3:1 表示對「錢多」稍有偏好,也就是說,選擇工作時,錢多一點比較重要,事少並非最主要的考慮。於是就填入表格中,如下圖:
由於比値爲3:1,表示錢多與事少兩者相比,錢多稍爲重要一些,但差距並沒有很大。再如下圖:
此圖的比値爲5:1,表示對對「事少」的偏好程度是「很有偏好」。就填入表格中,如下:
再如下圖:
此圖的比値是7:1,這表示對「錢多」很有偏好。就填入表格中,如下:
這就是兩兩成對相比的矩陣了。待會兒,在下一小節裏,將說明如何從此矩陣而演算出Wx、Wy和Wz之權數值。
3.4.2 從「成對比值」算出「權數値」
基於上一小節的矩陣而演算出Wx、Wy和Wz權數值的計算步驟爲:
Step-1: 計算各行的總和:
Step-2: 各個值除以該行的總和:
Step-3: 計算各列的平均值:
錢 多: (21/31 + 5/7 + 7/13) / 3 = 0.643
事 少: (7/31 + 5/21 + 5/13) / 3 = 0.283
離家近: (3/31 + 1/21 + 1/13) / 3 = 0.074
這些平均值,通稱爲優先向量(Priority Vector),簡稱PV值:
Step-4: 於是計算出Level-1的權數值:
Step-5: 開始演算Level-2的「錢多」權數值:
此圖的比値爲1:4,其表示Job-2對錢多的貢獻「稍強」於Job-1。就填入表格中,如下:
依據剛纔的Step-1 ~ Step-3,而進行演算:
1) 計算各行的總和。 2) 各個值除以該行的總和。 3)計算各列的平均值。
於是,計算出權數(即PV值)如下:
Step-6:開始演算Level-2的「事少」權數值:
此圖的比値爲7:1,表示Job-1對事少的貢獻「非常強」於Job-2。就填入表格中,如下:
依據剛纔的Step-1 ~ Step-3,而進行演算:計算各行的總和,並且各個值除以該行的總和,然後計算各列的平均值。於是,計算出PV值如下:
Step-7:開始演算Level-2的「離家近」權數值:
此圖的比値爲1:8,表示Job-2對離家近的相對貢獻強度是介於「非常強」與「極強」之間。就填入表格中,如下:
依據剛纔的Step-1 ~ Step-3,而進行演算:計算各行的總和,並且各個值除以該行的總和,然後計算各列的平均值。於是,計算出PV值如下:
於是計算出Level-2的權數值:
圖-13 基於「成對相比」矩陣而演算出來的權數值(即PV值)
Step-8:開始進行評估:
Job-1對「錢多」的貢獻度爲0.2,而「錢多」對總目標(即「理想」)的貢獻度爲0.643,所以Job-1透過「錢多」對總目標的貢獻度爲:0.2 * 0.643 = 0.129。Job-1對「事少」的貢獻度爲0.875,而「事少」對總目標(即「理想」)的貢獻度爲0.283,所以Job-1透過「事少」對總目標的貢獻度爲:0.875 * 0.283 = 0.248。Job-1對「離家近」的貢獻度爲0.111,而「離家近」對總目標(即「理想」)的貢獻度爲0.074,所以Job-1透過「離家近」對總目標的貢獻度爲:0.111 * 0.074 = 0.008。於是可算出:Job-1所表現的理想度爲:0.129 + 0.248 + 0.008 = 0.385。依據同樣的程序,可算出Job-2的情形:
-
Job-2透過「錢多」對總目標的貢獻度爲:0.8 * 0.643 = 0.514。
-
Job-2透過「事少」對總目標的貢獻度爲:0.125 * 0.283 = 0.035。
-
Job-2透過「離家近」對總目標的貢獻度爲:0.889 * 0.074 = 0.066。
於是可算出:Job-2所表現的理想度爲:0.514 + 0.035 + 0.066 = 0.615。兩者相比,Job-2是較理想的選擇。
3.4.3 「成對比值」的一致性檢驗
由於「成對相比」可能會出現自我矛盾的現象而不自知,所以AHP方法也能檢驗出是否有矛盾的現象。例如下圖裏的比値,其中3:1可表示爲「錢多 > 事少」。而另外5:1,可表示爲「事少 > 離家近」。依循邏輯,可推理而得:「錢多 > 離家近」。再看看7:1,可表示爲「錢多 > 離家近」,這與上述的推理是一致的,其意味着經過上述程序所計算出來的Wx、Wy和Wz權數値是一致的,並沒有矛盾。
但是有些情況是會出現不一致的矛盾現象(待會兒將舉例說明之)。因之,在計算每一組權數時,也需要檢驗其一致性。其計算步驟如下:
Step-1: 基於上一小節的Step-3所計算的總和及PV值,就可逐步計算並檢驗出一致性了。例如上一小節的Step-3所計算的總和及PV值爲:
Step-2: 計算最大Eigen值,其公式爲:各行總和與各列PV相乘之和。於是可算出:
λmax = (1.476 * 0.643) + (4.2 * 0.283) + (13 * 0.074) = 3.097
Step-3: 計算一致性指標(Consistency Index),簡稱CI,其公式爲:
CI = (λmax – n ) / (n – 1)
其中的n值就是選擇準則的個數,例如上圖的n值爲3。所以可算出:
CI = (3.097 – 3) / (3-1) = 0.048
Step-4: 計算一致性比率(Consistency Ratio),簡稱CR,其公式爲:
CR = CI / RI
其中的RI代表隨機一致性指標(Random Consistency Index)值,如下表所示:
例如,上圖的n值爲3,經查表可得到CI值爲0.58。所以可算出:
CR = 0.048 / 0.58 = 0.083
Step-5: 判斷一致性:如果CR值小於0.1時,表示具有相當的一致性,所以上述例子是具有一致性的。反之,如果CR值大於0.1時,表示呈現顯著的不一致性。例如,將上述例子更改爲:
則計算出來的CR值是:2.639,遠大於0.1,呈現出明顯的不一致性。因爲「錢多 > 事少 > 離家近」很明顯與「錢多 < 離家近」是互相矛盾的。
4、 AHP應用範例:評估軟件開發計劃
本應用範例摘自於:http://msdn.microsoft.com/msdnmag/issues/05/06/TestRun/default.aspx –MSDNMagazine,
June 2005
此範例,是針對3個軟件開發計劃,依據專家所提供的層次評選準則體系,進行有效的評比。其評選準則的層次結構,如下圖所示:
圖-14 AHP層次分析圖
首先,使用計算機上的AHP軟件,輸入頂層(Level-0層)的數據表格,如下:
接下來,輸入Level-1層的兩個數據表格,如下:
(表格-1a)
(表格-1b)
接下來,技術輸入Level-2的5個數據表格,如下:
(表格-1a)
(表格-1a、1b、1c和1d)
經由計算機的AHP軟件分析,得出下述結果:
於是,評比結果是:
Build-A:0.531
Build-B:0.329
Build-C:0.140
所以,Build-A是最佳的軟件開發計劃。◆
~ end ~