蘭州工業(yè)學院計算機與人工智能學院 崔康康 李曉斌 王賀 唐耀輝 何元 張健
隨著大數(shù)據(jù)和人工智能技術(shù)的蓬勃發(fā)展,導致海量數(shù)據(jù)的出現(xiàn)。決策支持領域處理的數(shù)據(jù)同樣呈井噴式增長。進行決策時,面臨的備選方案越來越多,考量的因素愈加復雜。組合約束條件決策支持(MCDA),是專注于支持大量備選方案和相互沖突考量標準決策的學科。MCDA針對半結(jié)構(gòu)化的決策問題,采用人機系統(tǒng)為決策者提供決策支持[1-2]。目前業(yè)界已開發(fā)了多種MCDA方法,但這些方法往往具有不同的操作要求,很難被集成到一起[3]。
基于以上現(xiàn)狀,為了實現(xiàn)不同MCDA方法的集成和交互工作,Diviz[4]平臺應運而生。然而,目前集成到Diviz平臺的MCDA方法都是定量分析方法,僅實現(xiàn)對連續(xù)數(shù)據(jù)的決策分析。
DEXi[5]是定性分析MCDA方法,通過對離散數(shù)據(jù)分析,實現(xiàn)對備選方案評估和選優(yōu)。DEXi已在許多領域得以應用,是集成到Diviz平臺的一個很好的方法。
本文討論并實現(xiàn)了集成DEXi方法到Diviz平臺的方案,達到定性分析和定量分析決策方法交互工作的效果,從而實現(xiàn)更好地為決策者服務的目的。
Diviz是一個開源項目平臺,該平臺集成了多種組合約束條件決策支持(MCDA)方法,擅長對定量的連續(xù)數(shù)據(jù)進行決策分析,實現(xiàn)決策問題的客戶端建模和提交、服務器端分析和返回決策結(jié)果等過程。Diviz是進行組合約束決策支持(MCDA)的在線平臺,通過在客戶端建立MCDA工作流程,便可收到遠程服務器返回的決策結(jié)果。Diviz平臺目前已集成了大量的MCDA方法,為不同MCDA方法交互的協(xié)同工作提供了便利的平臺。但目前Diviz平臺是集成的MCDA方法僅為定量MCDA方法,只能實現(xiàn)對連續(xù)數(shù)據(jù)的決策分析。圖1顯示的是Diviz平臺上一個MCDA方法的運行原理。
圖1 Diviz平臺上MCDA方法的運行原理Fig.1 The operating principle of the MCDA method on the Diviz platform
DEXi是定性MCDA方法的典型代表,實現(xiàn)對離散數(shù)據(jù)的決策分析。DEXi采用“if-then”決策規(guī)則來定義效用方程。在決策過程中,DEXi工作過程如式(1)所示:
Diviz平臺采用XMCDA[4]標準來呈現(xiàn)MCDA數(shù)據(jù)元素和對象。它是一種XML模式,專注于MCDA概念和數(shù)據(jù)結(jié)構(gòu)的表達。這篇文章的實驗,我們使用XMCDA的2.0.0版本來設計實現(xiàn)。
為了集成對離散數(shù)據(jù)進行決策分析的MCDA方法DEXi到Diviz開源平臺,實現(xiàn)定性決策支持模型DEXi與Diviz平臺上其他定量分析決策支持方法的交互工作[4],該工作開展了基于Diviz框架的定性決策支持系統(tǒng)的設計與實現(xiàn)。
為了集成DEXi到Diviz平臺,該項目首先實現(xiàn)了DEXi模型的XMCDA數(shù)據(jù)格式表達;然后在Eclipse集成開發(fā)環(huán)境下,用Java語言編寫程序,以實現(xiàn)對XMCDA格式的DEXi模型數(shù)據(jù)的網(wǎng)絡服務(Web Service)功能,從而實現(xiàn)集成DEXi到Diviz平臺的目標。
開發(fā)Diviz框架的定性決策支持系統(tǒng),首要問題是用XMCDA標準表達DEXi決策支持模型[4]。該部分以手機“CellPhone”為例,實現(xiàn)了DEXi評估模型的XMCDA數(shù)據(jù)格式表達。
將DEXi備選方案轉(zhuǎn)化為XMCDA的alternatives,需要用
圖2 描述手機評估模型備選方案的XMCDA數(shù)據(jù)結(jié)構(gòu)Fig.2 XMCDA data structure of mobile phone evaluation model alternatives
圖 3 描述DEXi層次屬性的XMCDA文件解析結(jié)果Fig.3 Analysis resutlt of XMCDA file of the hierarchical properties of DEXi
DEXi模型屬性“Attributes”的樹形數(shù)據(jù)結(jié)構(gòu)對應于XMCDA標準的Criteria。XMCDA的
圖3呈現(xiàn)的是“CellPhone”的DEXi模型層次屬性的XMCDA數(shù)據(jù)經(jīng)解析后的結(jié)構(gòu)。在“CellPhone”的XMCDA數(shù)據(jù)結(jié)構(gòu)中,共包括“CellPhone”等10個屬性節(jié)點。
DEXi效用方程采用定性集合的工作原理。XMCDA提供了多種表示方程的途徑,其中最佳的是performanceTable,在其數(shù)據(jù)結(jié)構(gòu)中,為每組備選方案和屬性定義了相應的取值。將備選方案和DEXi效用方程中的規(guī)則進行替換,便得到一個演示表,它定義了給定的DEXi模型的效用方程。表1顯示的是手機“CellPhone”模型評估效用方程的一部分內(nèi)容。
表1 用XMCDA呈現(xiàn)的手機“CellPhone”模型的效用方程Tab.1 Utility equation of "CellPhone" model presented with XMCDA
以本文第5部分提供的XMCDA數(shù)據(jù)為理論支撐,以手機“CellPhone”模型的評估為例,在Eclipse集成開發(fā)環(huán)境和CSS框架下,采用XMCDA標準描述DEXi模型,用Java和XSL語言編寫程序,集成DEXi方法到Diviz平臺,實現(xiàn)定性分析和定量分析決策方法的交互的工作,從而達到更好地為決策者服務的目的。
表2呈現(xiàn)的手機“CellPhone”的DEXi模型評估結(jié)果,對“CellPhone1”和“CellPhone2”兩個評估對象進行了評估。對于“CellPhone1”,當“PRICE”屬性取值為low(1)且“TECH.CHAR.”屬性取值為exe(1),基于效用方程,評估結(jié)果為exc(1),即“優(yōu)秀品質(zhì)”的手機;對于“CellPhone2”,當“PRICE”屬性取值為good(2)且“TECH.CHAR.”屬性取值為good(2),基于效用方程,評估結(jié)果為good(2),即較好“較好”的手機;其他屬性節(jié)點的取值,采用效用方程的計算過程類似于根節(jié)點。
表2 手機“CellPhone”的DEXi模型評估結(jié)果Tab.2 Evaluation results of the DEXi model of the mobile phone "CellPhone"
該段代碼呈現(xiàn)的是對手機“CellPhone”的DEXi模型的XML文件中屬性節(jié)點的讀取操作。通過對XML文件的分析和解讀,實現(xiàn)了DEXi模型轉(zhuǎn)換為XMCDA標準數(shù)據(jù)格式的過程,從而為將DEXi方法集成到Diviz平臺,實現(xiàn)定性分析和定量分析決策方法的交互的工作,提供技術(shù)支持。
該工作將DEXi這個定性的MCDA程序作為插件集成到了Diviz平臺。證明了Diviz平臺除了支持定量分析的模型,還支持分層結(jié)構(gòu)的定性決策方法。Diviz和DEXi兩者都從這個集成中得到益處:Diviz平臺的功能通過集成第一個分層的定性MCDA方法而得以擴展,DEXi同時變成一個被廣泛使用的開源決策支持軟件平臺的一員,從而實現(xiàn)Diviz平臺更加豐富強大的決策支持功能,去更好的服務決策者的目的。