[刨根问底] 五分钟搞懂组合评价模型—模糊Borda (以2021 年大学生数模国赛C题为例)
組合評價模型—模糊Borda(Matlab)?
我們的征途是星辰大海,而并非煙塵人間。
目錄
組合評價模型—模糊Borda(Matlab)?
一、模糊Borda法簡介
二、模糊Borda法主要步驟
(1)計算隸屬度
(2)計算模糊頻數(shù)
(3)計算模糊頻率?
(4)將排序轉(zhuǎn)化為得分
(5)計算模糊Borda數(shù)FBi,FBi值越大,名次越靠前
三、案例分析(2021 年高教社杯全國大學(xué)生數(shù)學(xué)建模競賽C題)
(1)案例分析
(2)代碼實現(xiàn)?
第一步:計算隸屬度
第二步:計算模糊頻數(shù)
第三步:計算頻率,也就是歸一化
第四步:將排序轉(zhuǎn)化為得分
第五步:計算模糊Borda數(shù)FBi,然后輸出排名
四、總結(jié)
(1)模糊Borda優(yōu)點
(2)模糊Borda缺點
一、模糊Borda法簡介
Borda法是由C·de Borda在1784年提出的,最早是為了解決投片選舉問題。其基本思想是:通過比較 m 位評價者所給出的對 n 個被評價對象的優(yōu)序關(guān)系,最終確定 n 個被評價對象的Borda分,以Borda分為大小從高到低排序。
案例一:
設(shè)一個選舉有三個候選人甲、乙、丙,結(jié)果如下:
-
4 張選票為:甲 > 乙 > 丙;
-
5 張選票為:甲 > 丙 > 乙;
-
7 張選票為:丙 > 乙 > 甲。
按簡單多數(shù)規(guī)則 s1?= 1, s2?= s3?= 0,則甲 9 票,乙 0 票,丙 7 票。結(jié)果是甲當選。由于沒有選民把乙排第一,所以當選的不是甲就是丙,取決于誰的支持者多。這體現(xiàn)了簡單多數(shù)規(guī)則的弊端——較易選出極端或爭議人士,可能會讓 51% 的人最滿意,而無視 49% 的人的利益。
按線性波達數(shù)規(guī)則 s1?= 2, s2?= 1, s3?= 0,則甲 18 分,乙 11 分,丙 19 分。結(jié)果是丙當選。造成這一結(jié)果的原因可能是甲的 9 名支持者采用的是真誠選舉,如實表達自己的偏好順序,而丙的 7 名支持者采用的是策略選舉,一致將甲排在最后。
可見要尋找一個好的投票規(guī)則并不容易。如果采用瑙魯議會規(guī)則,s1?= 1, s2?= 1/2, s3?= 1/3,則甲 11.33 分,乙 7.17 分,丙 10.83 分。結(jié)果是甲當選。瑙魯議會規(guī)則將反對者的聲音控制在一人一分以內(nèi),限制了策略選舉的影響。
組合評價就是將多個評價方法的結(jié)果再算一下,得到一個更有參考價值的結(jié)果,但是要求幾種評價方法的結(jié)果相似,比如對幾個供應(yīng)商重要性進行排名,首先通過了秩和比、topsis法等算法算出評價值,這些評價值作為Borda的初始數(shù)據(jù)。關(guān)于評價方法,不一定都是客觀的方法,一些主觀的方法都是可以的,確定判斷矩陣時應(yīng)結(jié)合實際考慮。
二、模糊Borda法主要步驟
Borda法分為以下五個步驟:
(1)計算隸屬度
?可以表示為第i個供應(yīng)商第j種評價方法的結(jié)果,其實這里呢就是一個簡單的歸一化,在一些運算過程中,趨向于0的值可能導(dǎo)致當此相乘的結(jié)果接近零,可能會影響到結(jié)果,這里我們可以把上式改為最低值為0.1:
?(2)計算模糊頻數(shù)
?矩陣根據(jù)評價結(jié)果構(gòu)建0,1矩陣,然后帶入進行運算
(3)計算模糊頻率?
?(4)將排序轉(zhuǎn)化為得分
為供應(yīng)商i在h位的得分,這里的指對象個數(shù),如果要對比402家供應(yīng)商那么這里的
(5)計算模糊Borda數(shù)FBi,FBi值越大,名次越靠前
三、案例分析(2021 年高教社杯全國大學(xué)生數(shù)學(xué)建模競賽C題)
(1)案例分析
第一問要求我們確定50家最重要的供應(yīng)商,一般的都是從供應(yīng)情況去看,這里可以確定一些指標,然后進行評價,最后評分最高Top50作為本問結(jié)果,可以考慮以下指標:
(1)材料性價比:計算各原材料經(jīng)濟效益,1/[0.6 0.66 0.72]=[1.67 1.52 1.39],然后再去除下單價,[1.67 1.52 1.39]/[1.2 1.1 1]=[1.3889 1.3774 1.3889],各供應(yīng)商按供應(yīng)的原材料對應(yīng),將這個結(jié)果作為第一個指標,為正向指標,指標越大越好。
(2)供應(yīng)商最大供應(yīng)能力:最大供應(yīng)量并換算為產(chǎn)能,為正向指標,指標越大越好
(3)供應(yīng)商平均供應(yīng)能力:平均供應(yīng)量并換算為產(chǎn)能,為正向指標,指標越大越好
(4)歷史供應(yīng)量/歷史訂單量比,為正向指標,指標越大越好
(5)供應(yīng)商供應(yīng)可靠性,對歷史供應(yīng)數(shù)據(jù),做方差分析,為負向指標,指標越小越好
(6)企業(yè)平均需求:企業(yè)平均需求可用于衡量該生產(chǎn)企業(yè)在每個供應(yīng)商的訂貨量總體水平。觀察附件1中數(shù)據(jù),可發(fā)現(xiàn)存在大量為0的數(shù)據(jù),故對每個供應(yīng)商的訂貨量進行求和,可以在保證計算結(jié)果正確的同時排除0數(shù)據(jù)的干擾。將每個供應(yīng)商在240周的訂貨量進行求和,再除以有訂貨的周數(shù),得到企業(yè)平均需求。
除了以上指標大家還可以多增加一些,然后用評價算法評價后排序即可,第一問評價可以用多種算法例如投影尋蹤、熵權(quán)法、Tosis等評價,然后在通過組合評價方法例如Borda求一個綜合性的評價值,然后進行排序。
(2)代碼實現(xiàn)?
第一步:計算隸屬度
x=[ ]; %x矩陣儲存各評價方法的得分,一行代表一家供應(yīng)商,列代表不同的評價方法 Ma = max(x,[],2); %求每列最大值 Mi = min(x,[],2); %求每列最小值 for i = 1:402 %402家供應(yīng)商for j = 1:N %N種評價方法,記得把N改為你自己選擇的評價方法數(shù),不然會報錯u(i,j) = ((x(i,j)-Mi(i,1))./(Ma(i,1)-Mi(i,1))).*0.9+0.1;end end?第二步:計算模糊頻數(shù)
B=zeros(402,402);%儲存模糊頻數(shù)矩陣 BB1=();%儲存第一種評價方法排名 BB2=();%儲存第二種評價方法排名%求模糊頻數(shù)矩陣 for i=1:402B(i,BB1(i,1))=1; end for j=1:402B(j,BB2(j,1))=1; end?第三步:計算頻率,也就是歸一化
%計算模糊頻率 for h = 1 : 402for i = 1 : 402p(h,i) = sum(B(h,i) .* u(i,:));end end for h = 1 : 402for i = 1 : 402w(h,i) = p(h,i) ./ sum(p(:,i));end end第四步:將排序轉(zhuǎn)化為得分
%計算最終得分 for h = 1 : 402for i = 1 : 402Q(h,i) = 0.5 * (402- h) * (402 - h + 1);end end Q=Q';第五步:計算模糊Borda數(shù)FBi,然后輸出排名
%計算模糊Borda數(shù)FBi,然后輸出排名 FB = sum(w.*Q,2); [a,PX]=sort(FB(end:-1:1)); [xx2,yy2]=sort(PX);%將排名與序號對應(yīng)(按照排名升序)(xx2為排名,yy2為序號) PM=zeros(402,2); PM(:,1)=yy2; PM(:,2)=xx2; Top=[]; Top=yy2(1:50,1);以上就是小編國賽C題第一問的求解過程啦~,小編用的是比較簡單的方法,由于時間比較緊,比賽的時候只選用了兩種評價方法,再用模糊Borda組合評價求解,得到三個結(jié)果,再分別計算匹配度,最后選擇最好的那個在論文上重點著墨。
四、總結(jié)
(1)模糊Borda優(yōu)點
模糊Barda法可以綜合多種評價方法的不同結(jié)果,該方法既考慮不同方法下排序名次的差異,又考慮相應(yīng)評價方法下各項目的得分值,能更好地利用已有的評價信息,從而使得評價結(jié)果具有較高的合理性和優(yōu)越性。
(2)模糊Borda缺點
模糊Borda法冠名為“模糊”的理由是,計算了所謂的“隸屬度”。其實,只不過是實際評價值的一個區(qū)間線性變換(極差變換或極大值相對化變換)。通過變換之后,所有的評價方法輸出值的取值區(qū)間均為[0,1]。它充其量也只是“評語等級退化為單個等級”時的隸屬度,或者稱為“隸屬優(yōu)度”,從整個過程來看,該方法并沒有與模糊數(shù)學(xué)中的有關(guān)運算規(guī)則、特殊概念發(fā)生很強的聯(lián)系。
在學(xué)習(xí)中成功、在學(xué)習(xí)中進步!我們一起學(xué)習(xí)不放棄~
記得三連哦~mua 你們的支持是我最大的動力!!歡迎大家閱讀往期文章哈~
小編聯(lián)系方式如下,歡迎各位巨佬溝通交流。
int[] arr=new int[]{4,8,3,2,6,5,1}; int[] index= new int[]{6,4,5,0,3,0,2,6,3,1}; String QQ = "";for (int i : index){QQ +=arr[i]; } System.out.println("小編的QQ:" + QQ);總結(jié)
以上是生活随笔為你收集整理的[刨根问底] 五分钟搞懂组合评价模型—模糊Borda (以2021 年大学生数模国赛C题为例)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android存到手机内存,androi
- 下一篇: MATLAB教程(1) MATLAB 基