《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 矩陣對(duì)策專用軟件系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)研究
矩陣對(duì)策專用軟件系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)研究
2015年微型機(jī)與應(yīng)用第14期
游文霞1,常俊曉1,蘇良虎2
(1.三峽大學(xué) 電氣與新能源學(xué)院,湖北 宜昌 443002; 2.晶晨半導(dǎo)體上海有限公司深圳分公司,廣東 深圳 518063)
摘要: 矩陣對(duì)策常用于解決對(duì)抗性決策問題,當(dāng)問題復(fù)雜時(shí)人工求解困難。為此,借助計(jì)算機(jī)的信息處理能力,設(shè)計(jì)出具有可視化功能的矩陣對(duì)策專用軟件,分析了矩陣對(duì)策的數(shù)學(xué)模型,給出了系統(tǒng)算法流程和對(duì)偶單純形法算法的計(jì)算步驟,采用Qt圖形視圖框架,借助C++ Boost數(shù)值計(jì)算庫(kù)ublas語(yǔ)言以及QtMmlWidget組件開發(fā)出矩陣對(duì)策專用軟件,以方便決策雙方快速合理地采取策略。運(yùn)行算例表明,該軟件操作方便,能夠公式化地顯示完整的計(jì)算過程,具有跨平臺(tái)特性。
Abstract:
Key words :

  摘  要矩陣對(duì)策常用于解決對(duì)抗性決策問題,當(dāng)問題復(fù)雜時(shí)人工求解困難。為此,借助計(jì)算機(jī)的信息處理能力,設(shè)計(jì)出具有可視化功能的矩陣對(duì)策專用軟件,分析了矩陣對(duì)策的數(shù)學(xué)模型,給出了系統(tǒng)算法流程和對(duì)偶單純形法算法的計(jì)算步驟,采用Qt圖形視圖框架,借助C++ Boost數(shù)值計(jì)算庫(kù)ublas語(yǔ)言以及QtMmlWidget組件開發(fā)出矩陣對(duì)策專用軟件,以方便決策雙方快速合理地采取策略。運(yùn)行算例表明,該軟件操作方便,能夠公式化地顯示完整的計(jì)算過程,具有跨平臺(tái)特性。

  關(guān)鍵詞: 矩陣對(duì)策;對(duì)偶單純形法;Qt圖形視圖框架;Boost

0 引言

  矩陣對(duì)策又稱為二人有限零和對(duì)策,現(xiàn)已得到廣泛研究,在體育比賽和政治經(jīng)濟(jì)談判等對(duì)抗性決策問題應(yīng)用中取得了很大成就[1-2],為制定最有利的行動(dòng)方案提供了理論依據(jù)。

  國(guó)內(nèi)外已經(jīng)開發(fā)出多種計(jì)算矩陣對(duì)策的數(shù)學(xué)工具軟件,有MATLAB[3]、Lingo[4]與Mathematic[5]等,雖然這類軟件功能強(qiáng)大,但比較復(fù)雜,求解矩陣對(duì)策問題前需要先建立數(shù)學(xué)模型,再將原問題轉(zhuǎn)化為線性規(guī)劃問題。參考文獻(xiàn)[6]開發(fā)出用于解決矩陣對(duì)策問題的程序Matrix Game Solver,輸入贏得矩陣,即可計(jì)算出對(duì)策值、局中人Ⅰ和Ⅱ的最優(yōu)決策向量,但不能輸出計(jì)算過程。參考文獻(xiàn)[7]設(shè)計(jì)了用于教學(xué)的矩陣對(duì)策程序,擁有良好的人機(jī)交互界面,可以給出計(jì)算過程,但操作步驟不夠靈活。

  本文借助Qt圖形界面框架、C++ Boost數(shù)值計(jì)算庫(kù),通過QtMmlWidget組件解析數(shù)學(xué)標(biāo)記語(yǔ)言MathML,以實(shí)現(xiàn)對(duì)數(shù)學(xué)公式的渲染,設(shè)計(jì)開發(fā)一款矩陣對(duì)策專用軟件系統(tǒng),方便決策雙方快速采取合理的方案,同時(shí)使其具有跨平臺(tái)特性,操作簡(jiǎn)單且能夠公式化地顯示完整的計(jì)算過程。

1 矩陣對(duì)策數(shù)學(xué)模型及求解

  記矩陣對(duì)策兩個(gè)局中人為Ⅰ、Ⅱ,策略集S1、S2如式(1)和式(2)所示,式(3)為矩陣對(duì)策的贏得矩陣A。Ⅰ和Ⅱ分別有m和n個(gè)行動(dòng)策略。

  PU7(@T]G)~04C0JW6`}Q_M3.png

  當(dāng)矩陣A存在鞍點(diǎn)時(shí),其為純策略矩陣對(duì)策,根據(jù)式(4)計(jì)算出純策略下的對(duì)策值及Ⅰ與Ⅱ的最優(yōu)純策略;反之,A為混合策略矩陣對(duì)策,求解時(shí)先分解出兩個(gè)互為對(duì)偶的線性規(guī)劃問題,再采用對(duì)偶單純形法求解出混合策略下的對(duì)策值及Ⅰ與Ⅱ的最優(yōu)純策略[8]。

  P5)S{@DHJ574WW%NWH72HKK.png

2 軟件結(jié)構(gòu)設(shè)計(jì)

001.jpg

  根據(jù)矩陣對(duì)策專用軟件使用簡(jiǎn)單、操作方便的功能需求,以及各模塊間相互獨(dú)立的設(shè)計(jì)思想,將軟件分為程序界面、數(shù)值計(jì)算和結(jié)果、計(jì)算過程顯示3個(gè)模塊。軟件結(jié)構(gòu)如圖1所示,給出了各模塊包含的類以及模塊之間的關(guān)系,通過Qt庫(kù)提供的信號(hào)與槽事件機(jī)制可以快速有效地實(shí)現(xiàn)各個(gè)模塊之間的消息傳遞與事件處理。

3 系統(tǒng)實(shí)現(xiàn)

  3.1 系統(tǒng)設(shè)計(jì)平臺(tái)

  Qt是一種跨平臺(tái)C++圖形用戶界面應(yīng)用程序開發(fā)框架,具有良好的封裝機(jī)制,在保證較高模塊化程度的同時(shí)也維系了很好的擴(kuò)展性,且其豐富的API為該矩陣對(duì)策軟件開發(fā)提供了很大的便利[9]。

  Boost是一個(gè)可移植、開放源代碼的C++準(zhǔn)標(biāo)準(zhǔn)庫(kù),相當(dāng)于C++標(biāo)準(zhǔn)模板庫(kù)STL的擴(kuò)充。對(duì)比STL,Boost包含了更多工具類,更加實(shí)用。

  QtMmlWidget屬于Qt Solutions組件,支持MathML2.0語(yǔ)言,以Unicode字體渲染各種數(shù)學(xué)符號(hào),能夠直接將用MathML2.0語(yǔ)言編寫的數(shù)學(xué)公式對(duì)象移植到Qt程序中。

  該專用計(jì)算軟件以Qt框架提供的窗體、菜單等控件設(shè)計(jì)輸入輸出界面;以C++為編程語(yǔ)言,使用Boost數(shù)值計(jì)算庫(kù)ublas完成矩陣對(duì)策問題的數(shù)值計(jì)算;最后提出公式的描述規(guī)則,借助QtMmlWidget解析MathML,實(shí)現(xiàn)對(duì)數(shù)學(xué)公式的渲染。

  3.2 程序界面模塊

  程序界面包括主界面、贏得矩陣行列、輸入輸出窗口、矩陣對(duì)策窗體及結(jié)果顯示界面,為整個(gè)軟件系統(tǒng)提供與用戶間的交互功能。程序主界面類與選項(xiàng)卡類間為一對(duì)多的關(guān)系,OrtTabWidget與行列輸入對(duì)話框類為一對(duì)一的關(guān)系。因此,系統(tǒng)可以接收多個(gè)行列數(shù)據(jù)的輸入,同時(shí)求解多個(gè)矩陣對(duì)策問題。

  系統(tǒng)采用表格形式接收輸入的贏得矩陣數(shù)據(jù),輸出分為純策略與混合策略兩種情況,再用數(shù)學(xué)公式顯示類將結(jié)果顯示在矩陣對(duì)策窗體類中。純策略下贏得矩陣的解直接根據(jù)式(4)分析矩陣中各元素的值得到,過程簡(jiǎn)單,不生成中間數(shù)據(jù)。混合策略下系統(tǒng)給出單純形法輸出窗體,包括兩個(gè)選項(xiàng)卡:線性規(guī)劃數(shù)學(xué)模型及其標(biāo)準(zhǔn)型和計(jì)算結(jié)果選項(xiàng)卡、迭代計(jì)算生成的單純形數(shù)據(jù)表顯示選項(xiàng)卡。

  3.3 數(shù)值計(jì)算模塊

002.jpg

  數(shù)值計(jì)算模塊實(shí)現(xiàn)矩陣對(duì)策求解功能。根據(jù)贏得矩陣是否存在鞍點(diǎn)設(shè)計(jì)算法流程如圖2所示,對(duì)偶單純形法求解混合策略下矩陣對(duì)策問題的算法步驟如圖3所示。當(dāng)贏得矩陣中存在負(fù)數(shù)時(shí),將各元素減去最小負(fù)數(shù),使矩陣中全部元素值非負(fù)。

  3.4 結(jié)果及計(jì)算過程顯示模塊

  根據(jù)MathML2.0的語(yǔ)法規(guī)則,將數(shù)學(xué)公式分為單節(jié)點(diǎn)元素公式與多層嵌套節(jié)點(diǎn)樹公式。前者為數(shù)字、運(yùn)算符等簡(jiǎn)單公式,后者為矩陣、上下標(biāo)等復(fù)雜公式。定義如下描述數(shù)學(xué)公式的語(yǔ)法規(guī)則:

  (1)單節(jié)點(diǎn)元素公式

  #mx(attr,value,attr,value,…)[data]#

  式中,mx只能為標(biāo)識(shí)符、運(yùn)算符、數(shù)字、文本之一,data為公式的數(shù)據(jù),attr和value為mx的屬性和值。

  (2)多層嵌套節(jié)點(diǎn)樹公式

  #mx<level>(attr,value,attr,value,…)[data]&&mx<level>(attr,value,attr,value,…)[data]&&…#

  其中,各層公式標(biāo)記用&&隔開,level表示公式標(biāo)記的層數(shù),從0開始逐層深入,且第0層元素mx不能為標(biāo)識(shí)符、運(yùn)算符、數(shù)字和文本。

  上述規(guī)則中,數(shù)學(xué)公式以成對(duì)的“#”出現(xiàn)。系統(tǒng)將計(jì)算數(shù)據(jù)按語(yǔ)法規(guī)則描述為字符串形式,再傳遞給FormulaMmlWidget類。該類借助Qt庫(kù)中與XML相關(guān)類與函數(shù)將傳入的字符串轉(zhuǎn)換為符合MathML2.0標(biāo)準(zhǔn)的XML語(yǔ)句,并以字符串的方式傳遞給父類QtMmlWidget進(jìn)行渲染[10]。實(shí)現(xiàn)數(shù)學(xué)公式顯示的步驟如圖4所示。

003.jpg

  由于QtMmlWidget對(duì)MathML2.0支持并非十分完美,在處理不等式對(duì)齊時(shí),采用MathML呈現(xiàn)型標(biāo)記mphantom處理行與列的對(duì)齊問題。經(jīng)渲染后的公式以Qt窗體元件顯示在數(shù)學(xué)公式顯示類與單純形表窗體類控件中,前者可以顯示矩陣對(duì)策的解、矩陣、線性規(guī)劃數(shù)學(xué)模型及其標(biāo)準(zhǔn)型,后者用于顯示迭代過程中生成的單純形數(shù)據(jù)表格。

4 應(yīng)用實(shí)例

  設(shè)式(5)為待計(jì)算的矩陣對(duì)策問題的贏得矩陣,輸入該矩陣后點(diǎn)擊“計(jì)算”按鈕,運(yùn)行界面如圖5所示。

  VLL4WH{}M6@MRQ_S{(SM1$I.png

004.jpg

  從圖5可以讀到局中人Ⅰ與Ⅱ最優(yōu)混合策略分別為(0.25,0.5,0.25)T與(0.25,0.5,0.25)T,且局中人Ⅱ的期望值為0。點(diǎn)擊“顯示”按鈕,得到圖6與圖7所示的對(duì)偶單純形法求解過程與中間數(shù)據(jù)。從圖6可以看出,將輸入的矩陣各元素加5,使其全部非負(fù)。圖7顯示了經(jīng)過4次迭代計(jì)算求出問題的最優(yōu)解,單純形表中用“[]”標(biāo)記的粗體數(shù)字即為主元素。整個(gè)計(jì)算過程可以公式化地顯示在界面中,清晰直觀。

5 結(jié)論

  本文論述了矩陣對(duì)策專用軟件系統(tǒng)的圖形化界面設(shè)計(jì)方法,分析了純策略下與混合策略下矩陣對(duì)策問題的模型及其求解方法,給出了數(shù)學(xué)公式的描述規(guī)則,實(shí)現(xiàn)了文本、矩陣等數(shù)學(xué)公式的顯示。從計(jì)算實(shí)例可以看出,軟件使用簡(jiǎn)單,操作方便,輸出直觀,能夠快速方便地求解出任意的矩陣對(duì)策問題。在此軟件的基礎(chǔ)上,可以加入整數(shù)規(guī)劃等優(yōu)化問題的分析計(jì)算模塊,從而實(shí)現(xiàn)功能更豐富的運(yùn)籌學(xué)優(yōu)化軟件。

  參考文獻(xiàn)

  [1] 楊靛青,李登峰.多目標(biāo)直覺模糊集矩陣對(duì)策的求解方法[J].福州大學(xué)學(xué)報(bào)(自然科學(xué)版),2014,42(2):213-218.

  [2] Li Dengfeng. Mathematical-programming approach to matrix games with payoffs represented by atanassov′s interval-valued intuitionistic fuzzy sets[J]. IEEE Transactions on Fuzzy Systems,2010,18(6):1112-1128.

  [3] 陳杰.MATLAB寶典(第三版)[M].北京:電子工業(yè)出版社,2011.

  [4] 謝金星,薛毅.優(yōu)化建模與LINDO/LINGO軟件[M].北京:清華大學(xué)出版社,2005.

  [5] 陽(yáng)明盛,林建華.Mathematica基礎(chǔ)及數(shù)學(xué)軟件[M](第2版).大連:大連理工大學(xué)出版社,2005.

  [6] THOMAS S, FERGUSON. Matrix game solver[EB/OL].[2014-03-14].(2015-01-10). http://www.math.ucla.edu/~tom/gamesolve.html.

  [7] 劉建永.運(yùn)籌學(xué)算法與編程實(shí)踐——Delphi實(shí)現(xiàn)[M].北京:清華大學(xué)出版社,2004.

  [8] 《運(yùn)籌學(xué)》教材編寫組.運(yùn)籌學(xué)(第4版)[M].北京:清華大學(xué)出版社,2012.

  [9] 李文帆,劉志剛,伍文城,等.基于Qt的電力系統(tǒng)地理接線圖繪制軟件設(shè)計(jì)[J].電力系統(tǒng)自動(dòng)化,2013,37(7):72-76.

  [10] 張光渝,楊秋輝,詹聰,等.開放式XML數(shù)據(jù)的質(zhì)量分析方法[J].計(jì)算機(jī)應(yīng)用研究,2013,30(7):2082-2086.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美日韩精品综合| 国产一区深夜福利| 欧美一区二区高清在线观看| 夜夜嗨av一区二区三区网页| 亚洲第一区中文99精品| 欧美一级在线亚洲天堂| 亚洲——在线| 亚洲天堂男人| 一区二区三区欧美激情| 亚洲美女中文字幕| 亚洲三级影片| 亚洲欧洲日产国产网站| 极品少妇一区二区三区| 国内免费精品永久在线视频| 国产日韩一区二区三区| 国产伦理一区| 国产精品一区二区黑丝| 国产精品你懂的| 国产精品日韩精品欧美精品| 国产精品a久久久久久| 欧美日韩第一区| 欧美日韩高清在线观看| 欧美日韩一区在线观看视频| 欧美日韩一区二区三区在线观看免 | 伊人影院久久| 亚洲第一在线综合在线| 亚洲国产一区在线观看| 亚洲区国产区| 一本色道88久久加勒比精品| 国产精品99久久久久久白浆小说| 中日韩美女免费视频网站在线观看 | 在线一区二区三区四区五区| 一区二区三区精品在线 | 欧美一区二区三区四区在线观看地址 | 红桃视频亚洲| 亚洲国产精品va在线观看黑人| 亚洲国产色一区| 99国产精品99久久久久久粉嫩| 一区二区不卡在线视频 午夜欧美不卡'| 夜夜精品视频一区二区| 亚洲午夜久久久久久尤物| 亚洲欧美日韩另类| 久久精品国产69国产精品亚洲 | 性做久久久久久久久| 欧美在线观看一区二区| 久久综合国产精品| 欧美精品免费播放| 国产精品久久久久久亚洲毛片| 国产精自产拍久久久久久| 国产综合在线看| 亚洲国产成人tv| 在线亚洲+欧美+日本专区| 午夜影视日本亚洲欧洲精品| 亚洲电影在线观看| 99综合视频| 午夜久久美女| 美女视频黄免费的久久| 欧美日本不卡高清| 国产精品美女久久| 精品动漫一区二区| 99热精品在线| 欧美怡红院视频| 亚洲全部视频| 亚洲欧美日韩一区二区在线| 久久久久久久网| 欧美另类99xxxxx| 国产精品亚洲视频| …久久精品99久久香蕉国产| 一区二区三区日韩精品视频| 久久精品导航| 亚洲自拍偷拍一区| 蜜臀av性久久久久蜜臀aⅴ| 欧美日韩精品在线| 国内精品久久国产| 一区二区三区免费在线观看| 亚洲欧美福利一区二区| 亚洲黄色高清| 午夜视频在线观看一区二区| 蜜臀va亚洲va欧美va天堂| 欧美午夜电影在线| 影音先锋欧美精品| 亚洲永久免费av| 亚洲伦理在线| 久久久精品日韩欧美| 欧美日韩在线播放三区| 极品裸体白嫩激情啪啪国产精品| 中文久久精品| 亚洲精品欧美极品| 欧美一级夜夜爽| 欧美日韩在线观看视频| 在线成人免费观看| 亚洲欧美日韩久久精品| 夜夜嗨av一区二区三区网页| 久久婷婷国产麻豆91天堂| 国产精品九九久久久久久久| 亚洲高清激情| 欧美在线视屏| 午夜精品久久久久久久99热浪潮| 欧美精品粉嫩高潮一区二区| 国产一区日韩一区| 亚洲欧美日韩一区| 亚洲一区日韩| 欧美喷水视频| 樱桃国产成人精品视频| 午夜精品久久久久| 亚洲欧美在线一区| 欧美日韩亚洲一区二区三区在线| 伊人久久av导航| 欧美一区二区三区在线看| 亚洲欧美国产高清va在线播| 欧美日韩另类国产亚洲欧美一级| 亚洲国产91色在线| 91久久精品网| 欧美mv日韩mv亚洲| 在线视频观看日韩| 久久精品视频在线看| 亚洲欧洲在线一区| 麻豆91精品| 一区二区三区在线不卡| 久久国产天堂福利天堂| 久久久91精品国产一区二区三区 | 国产精品自拍一区| 亚洲一区二区三区视频播放| 中文高清一区| 欧美日韩国产经典色站一区二区三区| 亚洲国产小视频| 亚洲美女视频网| 欧美精品福利| 日韩小视频在线观看| av成人免费在线| 欧美精品在线免费| 亚洲精选视频免费看| 亚洲肉体裸体xxxx137| 欧美成黄导航| 亚洲经典三级| 夜夜爽99久久国产综合精品女不卡 | 9i看片成人免费高清| 亚洲天堂黄色| 国产精品美女久久久久久久| 亚洲综合色婷婷| 欧美亚洲一区在线| 国产欧美一区二区精品性| 欧美一区二区黄色| 久久先锋资源| 亚洲国产成人午夜在线一区| 99日韩精品| 欧美色偷偷大香| 亚洲欧美日韩一区在线| 久久久久成人网| 亚洲福利视频三区| 一本色道精品久久一区二区三区| 欧美日韩一区二区三区在线| 亚洲午夜精品网| 久久久久久久久岛国免费| 一区免费观看| aa级大片欧美三级| 国产精品乱码一区二区三区| 性做久久久久久久免费看| 久久欧美中文字幕| 亚洲欧洲日韩在线| 午夜久久99| 一区二区三区在线视频免费观看| 亚洲毛片在线看| 国产精品久久久久久久久久直播| 午夜一区在线| 欧美高清在线| 亚洲一级在线观看| 久久九九免费| 亚洲国产毛片完整版| 亚洲欧美日韩视频一区| 韩日在线一区| 日韩视频一区二区| 国产精品久久久久秋霞鲁丝| 欧美在线综合| 欧美精品一区三区| 亚洲一区二区少妇| 免费不卡中文字幕视频| 一区二区久久| 久久久久青草大香线综合精品| 91久久国产综合久久蜜月精品| 亚洲欧美日韩国产综合在线| 影音先锋日韩资源| 午夜在线观看免费一区| 亚洲国产成人av| 欧美一区二区性| 亚洲精品久久嫩草网站秘色| 欧美一区二区三区视频| 亚洲品质自拍| 久久久国产一区二区| 99亚洲精品| 乱中年女人伦av一区二区| 亚洲视频精品在线| 欧美国产日本在线| 欧美一区二区三区播放老司机| 欧美日韩综合一区| 亚洲激情影视| 国产一区日韩二区欧美三区| 亚洲私人影吧| 亚洲黄色一区二区三区| 久久久99精品免费观看不卡|