最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

北太天元學(xué)習(xí)38-TOPSIS法選購手機(jī)

2023-08-25 13:28 作者:盧朓  | 我要投稿

在北太天元學(xué)習(xí)20中,我們學(xué)習(xí)了一種多準(zhǔn)則決策的方法,稱為層次分析法。今天, 我們將學(xué)習(xí)另一種應(yīng)用廣泛的多準(zhǔn)則決策的方法,稱為TOPSIS方法。 TOPSIS 是 Technique for Order Preference by Similarity to an Ideal Solution? 的縮寫,可以翻譯為"通過與理想解相似性進(jìn)行偏好排序的技術(shù)"。 由Hwang和Yoon(1981)開發(fā)的TOPSIS方法是繼Saaty(1980)的層次分析法(AHP)之后第二廣泛使用和流行的多準(zhǔn)則決策方法。這是因為它簡單易用,可以應(yīng)用于由多標(biāo)準(zhǔn)和多被選擇品組成的問題。

首先,我們把下面的表格稱為決策矩陣, 如
?? ??? ??? ??? ??? ?指標(biāo)1?? 指標(biāo)2??? ....
備選1????? 10???? 0.3
備選2????? 8????? 0.7
...
它是一個表,每一個行對應(yīng)一個備選方案, 每一列對應(yīng)一個指標(biāo).

我還是以一個例子簡單講講如何使用TOPSIS方法給 不同的備選 進(jìn)行評分排序。 假設(shè)你想買一部手機(jī),根據(jù)RAM、內(nèi)存、顯示屏大小、電池和價格分析了5部手機(jī)。

手機(jī)-指標(biāo) 組成的決策矩陣

最后,你看到這么多指標(biāo)后感到困惑(亂花漸欲迷人眼),不知道如何決定你應(yīng)該購買哪部手機(jī)。TOPSIS是一種根據(jù)給定指標(biāo)的權(quán)重和影響來分配排名的方法。

亂花漸欲迷人眼,手機(jī)不知如何選。借助方法何處有,何不試試用天元?

權(quán)重是指應(yīng)考慮給定指標(biāo)的程度(所有指標(biāo)的默認(rèn)權(quán)重=1)。 就像你希望RAM比其他指標(biāo)更重一樣,所以RAM的權(quán)重可以取成2,而其他指標(biāo)可以是1。我們也可以先用層次分析法給出各個指標(biāo)的權(quán)重, 參考北太天元學(xué)習(xí)20。

每個指標(biāo)的影響是可能是積極的也可能是消極的。就像你希望電池盡可能大(效益型指標(biāo), 極大型指標(biāo)), RAM 和 Memory 你也希望越大越好,因此也是極大型指標(biāo); 但手機(jī)的價格盡可能低(成本性指標(biāo), 極小型指標(biāo)), 還有屏幕你既不希望太大也不希望太小,
最好在5-6英寸之間(區(qū)間型指標(biāo)),那么我們怎么根據(jù)上表的數(shù)據(jù)來對這5個手機(jī)進(jìn)行排序?
我們就用北太天元,首先在北太天元輸入圖中的決策矩陣
>> x = [ 8? 128? 5??? 2400?? 800 ;
???????? 8? 256? 5.5? 3000?? 1500 ;
???????? 16 256? 6??? 3200?? 3000 ;
???????? 32 512? 10?? 3200?? 10000 ;
???????? 8? 256? 4??? 3000?? 2000 ];


步驟1: 數(shù)據(jù)預(yù)處理
?? 1.1 數(shù)據(jù)正向化處理
?? ? 在處理數(shù)據(jù)時,有些指標(biāo)的數(shù)據(jù)越大越好,有些則是越小越好,有些又是某段區(qū)間最好。我們可以對其進(jìn)行“正向化處理”,使指標(biāo)都可以像考試分?jǐn)?shù)那樣,越大越好。
?? ? 對于極小型指標(biāo)j, 這一列的元素是 x_{ij}, i=1,...n; 我們可以用下面的一段北太天元的代碼來對第j列做變換,把這一列的指標(biāo)轉(zhuǎn)化成極大型

>> j = 5; % 第5列是價格,是極小型指標(biāo)
>> xj = x(:,j);??? % 取到?jīng)Q策矩陣的第j列
>> maxj = max(xj);? % 取得 xj 的最大值
>>? yj = maxj - xj; % yj 是成了極大型指標(biāo)
>> x(:,j) = yj;???? % 把原來的決策矩陣的第j列 修改為 yj

經(jīng)過這個操作, 決策矩陣變成了

第5列由極小型指標(biāo)轉(zhuǎn)成了極大型指標(biāo)



?? ?對于區(qū)間型指標(biāo)j, 這一列的元素是 x_{ij},j = 1,...n; 如果其最佳區(qū)間是[lb,ub],我們還是令 xj = x(:,j), 然后取 xj 的元素的最大值 和最小值 max_xj, min_xj, 假設(shè) max_xj > ub 和 min_xj < lb 至少有一個成立( 不然,這一列的指標(biāo)對區(qū)分備選是沒有用處的,可以剔除這一列), 此時 取? M = max(? [max_xj - ub,? lb - min_xj ] ), 可以證明 M > 0.? 然后我們使用下面的分段函數(shù)作為變換函數(shù), 直接用北太天元的代碼來寫
>> j = 3; % 第3列是屏幕尺寸指標(biāo),是區(qū)間型
>> xj = x(:,j)
>> max_xj = max(xj);
>> min_xj = min(xj);
>> lb = 5;? %? 我們考慮的是第3列所給的屏幕尺寸指標(biāo),最佳范圍是[5,6]
>> ub = 6;
>> M = max ( [ max_xj - ub, lb - min_xj]);
>> if M <=0
?? ??? ?? x(:,j) == 1;
?? ? else
?? ??? ? fh? =? @(t) ( t < lb ) .* (1 - (lb-t)/M) + (t>=lb & t <=ub) ...
?? ??? ???????????? + (t > ub ) .* (1 - (t-ub)/M);
?? ??? ? yj = fh(xj);
?? ? ?? ? x(:,j) = yj;?? ?
?? ? end

經(jīng)過這一步, 第三列第3列也轉(zhuǎn)成了極大型,決策矩陣現(xiàn)在變成了

第三列由區(qū)間型變成了極大型

經(jīng)過這樣的操作,我們得到的決策矩陣,每一列都可以看成極大型指標(biāo)了。 我們可以把這一步叫做矩陣的正向化,也就是每一個指標(biāo)都是越大越好。

步驟2:計算歸一化矩陣和加權(quán)歸一化矩陣。
?? 矩陣的第1列是RAM, 數(shù)值在8-32之間(單位是M字節(jié)),第3列是電池容量, 數(shù)值在2400-3200之間(單位是毫安時), 如果使用原始數(shù)據(jù)會使得MEMORY指標(biāo)的貢獻(xiàn)值遠(yuǎn)大于RAM指標(biāo)的貢獻(xiàn)值。因此,我們 把所有的列的數(shù)據(jù)都?xì)w一化到一個相同的范圍內(nèi),這個步驟叫做標(biāo)準(zhǔn)化(或者歸一化),目的是消除不同的數(shù)據(jù)指標(biāo)量綱的影響。

有很多標(biāo)準(zhǔn)化的方法,我們可以采用下面的方法:
>> [m,n] = size(x); % m是x的行數(shù),n 是x的列數(shù)
>> for j = 1:n
?? ??? ??? ?x(:,j) = x(:,j) / norm( x(:,j) ); % 把x的第j列做了放縮,放縮后2范數(shù)是1
?? ??? ?end
上面的北太天元代碼,也可以用下面一行來代替
>> x = x ./ vecnorm(x);
歸一化后的矩陣是

歸一化的決策矩陣


然后再乘以權(quán)重, 例如 w=[2? 1 1 1 1]
>>? w = [ 2 1 1 1 1];
>>? x = x .* w;
得到的加權(quán)歸一化的矩陣是

第一列乘的權(quán)重比較大,這是加權(quán)的歸一化矩陣


步驟3: 確定正理想解和負(fù)理想解
經(jīng)過了正向化處理和標(biāo)準(zhǔn)化處理的評分矩陣x,里面的數(shù)據(jù)全部是極大型數(shù)據(jù)。 我們就可以從中取出理想最優(yōu)解和最劣解。因此我們?nèi)〕雒總€指標(biāo),即每一列中最大的數(shù),構(gòu)成理想最優(yōu)解向量,即
>> s_p = max(x); % 對每一列取最大值 得到正理想解(positive ideal solution)

正理想解

同理,取每一列中最小的數(shù)計算理想最劣解向量:
>> s_n = min(x); % 對每一列取最小值 得到負(fù)理想解(negative ideal solution)

負(fù)理想解

步驟4: 計算各對象到正理想解與負(fù)理想解的距離
在得到理想最優(yōu)解和理想最劣解的基礎(chǔ)上就能計算每個備選的評分了。

>> d_p = vecnorm(x-s_p, 2, 2); %距離正理想解的距離

每個備選與正理想解的距離( 2-范數(shù) )

>> d_n = vecnorm(x-s_n, 2, 2); %距離負(fù)理想解的距離

每個備選與負(fù)理想解的距離(2-范數(shù))


步驟5: 計算綜合評價指數(shù)
>> score = d_n ./ ( d_p + d_n); %計算分?jǐn)?shù)
>> [sf,ind]=sort(score, 'descend') %求排序結(jié)果

?上面計算出的各個手機(jī)的得分表明得分最高的是第4個手機(jī),它的指標(biāo)列在第4行,得分最低的是第5個手機(jī),它的指標(biāo)列在第5行。 第4個手機(jī)是10000元,是最貴的,怎么得分最高呢? 第五個手機(jī)看著還行,怎么得分最低呢?咋一看, 這是不合理的,但是想想我們開始把RAM的權(quán)重定成2,其它都是1,第4個手機(jī)的RAM最大,第5個手機(jī)的RAM最小, 仔細(xì)想想還是合理的,如果我們覺得不合理,還是要重新調(diào)整權(quán)重。還是歡迎大家看看北太學(xué)習(xí)20的層次分析法確定 權(quán)重的方法,再重新確定權(quán)重試試看。


下面是完整代碼:



?x = [ 8? 128? 5??? 2400?? 800 ;
???????? 8? 256? 5.5? 3000?? 1500 ;
???????? 16 256? 6??? 3200?? 3000 ;
???????? 32 512? 10?? 3200?? 10000 ;
???????? 8? 256? 4??? 3000?? 2000 ];

?j = 5; % 第5列是價格,是極小型指標(biāo)
?xj = x(:,j);??? % 取到?jīng)Q策矩陣的第j列
?maxj = max(xj);? % 取得 xj 的最大值
? yj = maxj - xj; % yj 是成了極大型指標(biāo)
?x(:,j) = yj;???? % 把原來的決策矩陣的第j列 修改為 yj


?j = 3; % 第3列是屏幕尺寸指標(biāo),是區(qū)間型
?xj = x(:,j);
?max_xj = max(xj);
?min_xj = min(xj);
?lb = 5;? %? 我們考慮的是第3列所給的屏幕尺寸指標(biāo),最佳范圍是[5,6]
?ub = 6;
?M = max ( [ max_xj - ub, lb - min_xj]);
?if M <=0
?? ??? ?x(:,j) == 1;
?else
?? ? fh? =? @(t) ( t < lb ) .* (1 - (lb-t)/M) + (t>=lb & t <=ub) ...
?? ??? ??? ??? ??? ??? ??? ?+ (t > ub ) .* (1 - (t-ub)/M);
?? ? yj = fh(xj);
?? ? x(:,j) = yj;?? ?
?end

?x = x ./ vecnorm(x); % 歸一化


?w = [ 2 1 1 1 1];
?x = x .* w;???? % 加權(quán)歸一化

?s_p = max(x); % 對每一列取最大值 得到正理想解(positive ideal solution)
?s_n = min(x); % 對每一列取最小值 得到負(fù)理想解(negative ideal solution)

?d_p = norm(x-s_p, 2, 2); %距離正理想解的距離
?d_n = norm(x-s_n, 2, 2); %距離負(fù)理想解的距離

?score = d_n ./ ( d_p + d_n); %計算分?jǐn)?shù)
?[sf,ind]=sort(score, 'descend') %求排序結(jié)果




北太天元學(xué)習(xí)38-TOPSIS法選購手機(jī)的評論 (共 條)

分享到微博請遵守國家法律
盘山县| 中卫市| 建宁县| 克拉玛依市| 沈丘县| 嘉善县| 高邑县| 万全县| 吴川市| 登封市| 云梦县| 湖州市| 诏安县| 延安市| 曲松县| 西乌珠穆沁旗| 宁蒗| 东阳市| 牟定县| 广平县| 日照市| 岢岚县| 上栗县| 宝兴县| 塘沽区| 秭归县| 固阳县| 瑞昌市| 微山县| 静海县| 五莲县| 晴隆县| 沈丘县| 秀山| 宁陕县| 宝丰县| 五常市| 乃东县| 石景山区| 新邵县| 峨眉山市|