數(shù)學建模常用模型(七) :模糊綜合評價法
模糊綜合評價法(Fuzzy Comprehensive Evaluation Method)是一種基于模糊數(shù)學理論的評價方法,用于處理模糊、不確定或多指標的決策問題。該方法將模糊集合理論與數(shù)學模型相結(jié)合,通過量化和綜合各種評價指標的模糊信息,得出最終的評價結(jié)果。
模糊綜合評價法在許多領域中應用廣泛,如決策分析、工程評價、經(jīng)濟評估、環(huán)境評價等。它能夠處理多指標、不確定性和模糊性的問題,提供一種相對靈活和全面的評價方法。
這是我自己總結(jié)的一些代碼和資料(本文中的代碼以及參考書籍等),放在github上供大家參考:https://github.com/HuaandQi/Mathematical-modeling.git
1.模糊綜合評價法的基本步驟:
(1)確定評價指標:確定用于評價問題的指標,并定義每個指標的評價等級或隸屬函數(shù)。
(2)確定隸屬函數(shù):為每個指標的評價等級定義模糊隸屬函數(shù),將指標的取值映射到一個隸屬度值,表示該指標在某個評價等級上的程度。
(3)構(gòu)建評價矩陣:將各指標的評價等級轉(zhuǎn)化為評價矩陣,矩陣中的元素表示各指標在各評價等級上的隸屬度值。
(4)確定權重:根據(jù)問題的要求或?qū)<业囊庖?,確定各評價指標的權重,用于對不同指標的重要性進行量化。
(5)模糊綜合評價:將評價矩陣與權重相乘,得到加權評價矩陣。對加權評價矩陣的每一列進行模糊綜合運算(如最大值、最小值、平均值等),得出綜合評價結(jié)果。
(6)解模糊化:對綜合評價結(jié)果進行解模糊化處理,將模糊的評價結(jié)果轉(zhuǎn)化為具體的數(shù)值。
(7)結(jié)果分析與決策:根據(jù)解模糊化后的評價結(jié)果進行分析和決策,確定最終的評價等級或做出相應的決策。
2.程序?qū)嵗?/h3>
以下是使用Python進行模糊綜合評價的簡單例子,我們將使用scikit-fuzzy庫來實現(xiàn)模糊邏輯運算。
import numpy as np
import skfuzzy as fuzz
# 定義評價指標和評價等級
price = np.arange(0, 11, 1)
appearance = np.arange(0, 11, 1)
functionality = np.arange(0, 11, 1)
durability = np.arange(0, 11, 1)
# 定義模糊隸屬函數(shù)
price_low = fuzz.trimf(price, [0, 0, 5])
price_medium = fuzz.trimf(price, [0, 5, 10])
price_high = fuzz.trimf(price, [5, 10, 10])
appearance_poor = fuzz.trimf(appearance, [0, 0, 5])
appearance_average = fuzz.trimf(appearance, [0, 5, 10])
appearance_good = fuzz.trimf(appearance, [5, 10, 10])
functionality_poor = fuzz.trimf(functionality, [0, 0, 5])
functionality_average = fuzz.trimf(functionality, [0, 5, 10])
functionality_good = fuzz.trimf(functionality, [5, 10, 10])
durability_poor = fuzz.trimf(durability, [0, 0, 5])
durability_average = fuzz.trimf(durability, [0, 5, 10])
durability_good = fuzz.trimf(durability, [5, 10, 10])
# 模糊化
price_level_low = fuzz.interp_membership(price, price_low, 3)
price_level_medium = fuzz.interp_membership(price, price_medium, 6)
price_level_high = fuzz.interp_membership(price, price_high, 9)
appearance_level_poor = fuzz.interp_membership(appearance, appearance_poor, 2)
appearance_level_average = fuzz.interp_membership(appearance, appearance_average, 5)
appearance_level_good = fuzz.interp_membership(appearance, appearance_good, 8)
functionality_level_poor = fuzz.interp_membership(functionality, functionality_poor, 4)
functionality_level_average = fuzz.interp_membership(functionality, functionality_average, 7)
functionality_level_good = fuzz.interp_membership(functionality, functionality_good, 10)
durability_level_poor = fuzz.interp_membership(durability, durability_poor, 3)
durability_level_average = fuzz.interp_membership(durability, durability_average, 6)
durability_level_good = fuzz.interp_membership(durability, durability_good, 9)
# 構(gòu)建規(guī)則
rule1 = np.fmax(price_level_low, np.fmax(appearance_level_poor, np.fmax(functionality_level_poor, durability_level_poor)))
rule2 = np.fmax(price_level_low, np.fmax(appearance_level_poor, np.fmax(functionality_level_average, durability_level_poor)))
rule3 = np.fmax(price_level_medium, np.fmax(appearance_level_average, np.fmax(functionality_level_good, durability_level_good)))
rule4 = np.fmax(price_level_high, np.fmax(appearance_level_good, np.fmax(functionality_level_good, durability_level_good)))
# 求解模糊綜合評價
result = np.fmax(rule1, np.fmax(rule2, np.fmax(rule3, rule4)))
# 解模糊化
defuzzified = fuzz.defuzz(price, result, 'centroid')
# 打印評價結(jié)果
print("綜合評價結(jié)果:", defuzzified)
在這個例子中,我們定義了價格、外觀、功能和耐久性的評價指標,并使用三角隸屬函數(shù)表示不同的評價等級。然后,我們將評價指標進行模糊化,并通過規(guī)則推理得到綜合評價結(jié)果。最后,使用解模糊化方法(在這里使用的是質(zhì)心法)將模糊結(jié)果轉(zhuǎn)化為具體的數(shù)值。
請注意,在實際應用中,你需要根據(jù)具體問題和數(shù)據(jù)進行適當?shù)恼{(diào)整和擴展。
3.總結(jié)
(1)解決問題
模糊綜合評價法是在模糊環(huán)境下,考慮了多因素的影響,為了某種目的對一事物作出綜合決策的方法。
(2)優(yōu)點
模糊綜合評價法具有結(jié)果清晰,系統(tǒng)性強的特點,能較好地解決模糊的、難以量化的問題,適合各種非確定性問題的解決。文章來源:http://www.zghlxwxcb.cn/news/detail-811882.html
(3)缺點
計算復雜,對指標權重矢量的確定主觀性較強。
當指標集U較大,即指標集個數(shù)凡較大時,在權矢量和為1的條件約束下,相對隸屬度權系數(shù)往往偏小,權矢量與模糊矩陣R不匹配,結(jié)果會出現(xiàn)超模糊現(xiàn)象,分辨率很差,無法區(qū)分誰的隸屬度更高,甚至造成評判失敗,此時可用分層模糊評估法加以改進。文章來源地址http://www.zghlxwxcb.cn/news/detail-811882.html
到了這里,關于數(shù)學建模常用模型(七) :模糊綜合評價法的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!