999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

微粒群算法的可視化平臺開發(fā)研究

2011-01-01 00:00:00陳國平,趙文杰,江維
計算技術與自動化 2011年1期

摘 要:微粒群算法是近年來興起的一種智能優(yōu)化算法,微粒群算法的研究如果僅僅只停留在枯燥的公式和乏味的理論推導分析上的話,常常會使研究人員和用戶不能正確的理解微粒群算法,基于此本文提出微粒群算法的可視化實現(xiàn)問題,即開發(fā)友好可視化的前臺界面,通過前臺上的控件和后臺程序中參數(shù)之間的數(shù)據(jù)交換來解決優(yōu)化問題,這樣可大大縮短了算法的開發(fā)周期。

關鍵詞:微粒群算法;可視化平臺;開發(fā)周期

中圖分類號:TP301 文獻標識碼:A

The Research of PSO Visualization Platform Development

CHEN Guoping1,ZHAO Wenjie1,JIANG Wei2

(1.School of Electronic and information Engineering, Wuhan Institute of Technology, Wuhan, 430074,China;

2.Telecommunications department business college of HBUT, Wuhan, 430079,China )

Abstract:In recent years, particle swarm optimization is a kind of intelligent optimization algorithms, The research of PSO is boring and tedious if it stays only in formula and theoretical derivation researchers and users often can not make a proper understanding of particle swarm algorithm, Based on the above the paper proposed the visualization issues of PSO,namely,the prospects of developmentfriendly visual interface to control the front and back-stage process of data exchange between the parameters to solve the optimization problem, so the algorithm can greatly shorten the development cycle.

Key words:Particle Swarm Optimization(PSO);visualization platform;development cycle

1 引 言

微粒群算法(Particle Swarm Optimization 簡稱PSO)是由美國社會心理學家Kennedy和電氣工程學家Eberhart等受鳥群覓食的啟發(fā)于1995年提出的一種進化技術[1]。PSO算法的研究如果僅僅只停留在枯燥的公式和乏味的理論推導分析上的話,常常會使研究人員和用戶不能正確的理解PSO算法,甚至對該算法產(chǎn)生厭煩的情緒,從而在一定程度上限制了PSO算法的應用。基于此本文提出了PSO算法的可視化實現(xiàn)問題,如果研究人員和用戶看到的是一個友好的可視化界面而不是復雜的公式、代碼,用戶只需在界面上設置或輸入相關參數(shù),點擊確定按鈕就可以得到優(yōu)化結(jié)果和收斂曲線,從而可以避免重新設置參數(shù)需要打開PSO算法的源代碼的不便,總之就是開發(fā)友好可視化的前臺界面,而將復雜的代碼放到后臺,通過前臺上的控件和后臺程序中參數(shù)之間的數(shù)據(jù)交換,這樣可大大縮短了算法的開發(fā)周期,這些就是PSO算法可視化實現(xiàn)研究的內(nèi)容。因此微粒群算法的可視化開發(fā)平臺研究是非常有必要和有意義的。

2 微粒群算法的基本原理

微粒群算法將每個個體看作是在N維搜索空間中的一個沒有重量和體積的微粒,并在搜索空間中以一定的速度飛行,該飛行速度由個體的飛行經(jīng)驗和群體的飛行經(jīng)驗進行動態(tài)調(diào)整,其調(diào)整方程[2]為(1)(2)兩式,直到達到最優(yōu)為止。

Vij(t+1)=ωVij(t)+c1r1(t)(pij(t)-

Xij(t))+c2r2(t)(pgj(t)-Xij(t))(1)

Xij(t+1)=Xij(t)+Vij(t+1)(2)

其中:下標“j”表示微粒的第j維,“i”表示微粒i,t表示第t代。pij為微粒i所經(jīng)歷的最好位置,pgj為群體中所有微粒所經(jīng)歷過的最好位置,ω為慣性權(quán)重,c1,c2為加速常數(shù)通常在0~2之間取值,r1 ~U(0,1),r2~U(0,1)為兩個相互獨立的隨機函數(shù)。

3 微粒群算法的程序?qū)崿F(xiàn)問題

PSO算法的程序?qū)崿F(xiàn)問題主要可分為兩個環(huán)節(jié),第一環(huán)節(jié)為PSO算法的程序?qū)崿F(xiàn)即主程序的實現(xiàn),為了便于識別在MATLAB中一般可保存為main.m文件,第二環(huán)節(jié)為優(yōu)化對象的程序?qū)崿F(xiàn)或者叫適應度函數(shù),在MATLAB中一般可保存為fitness.m文件,將main.m、fitness.m保存在同一文件夾里面,當運行main.m文件時MATLAB會自動調(diào)用fitness.m文件,這里也類似于C語言的調(diào)用,當需要改變優(yōu)化對象時只需要對fitness.m文件進行修改,而保持main.m文件不變,當用戶對PSO算法對于優(yōu)化對象的優(yōu)化結(jié)果不滿意時,可保持fitness.m文件不變,對main.m文件進行修改主要包括初始化參數(shù)的修改,如果在修改初始化參數(shù)仍然不能達到設定的優(yōu)化性能的情況下可考慮進行算法的改進,這樣就變的越來越復雜了。將PSO算法的程序?qū)崿F(xiàn)分為主程序和適應度程序兩個部分,各部分在整個優(yōu)化過程中起不同的作用,在修改程序時可以根據(jù)要求的不同分開進行,從而可以進一步提高算法程序?qū)崿F(xiàn)的效率。

4 微粒群算法的可視化實現(xiàn)問題

所謂PSO算法的可視化實現(xiàn)就是指在圖形用戶界面GUI(Graphic User Interface)平臺下利用PSO算法來解決優(yōu)化問題。其本質(zhì)是將復雜的PSO算法程序放在后臺,而通過前臺友好可視化界面上的控件實現(xiàn)用戶和后臺程序的交互連接,來解決復雜的優(yōu)化問題。雖然PSO算法理論上是可以由MATLAB程序?qū)崿F(xiàn)的,但對于較復雜的優(yōu)化問題以及一些對優(yōu)化性能要求較高的場合,算法程序?qū)崿F(xiàn)是很復雜和困難的。人工神經(jīng)網(wǎng)絡和遺傳算法也是如此,存在類似的一些缺點,為此MATLAB軟件針對這些問題自帶有神經(jīng)網(wǎng)絡工具(NNTOOL)即神經(jīng)網(wǎng)絡GUI開發(fā)平臺,對于MATLAB7.0以上版本也都自帶有遺傳算法工具箱(GATOOL),它們提供圖形化用戶界面,用戶只需要在MATLAB命令窗口輸入NNTOOL和GATOOL命令或通過其它方式就都可以打開工具箱,用戶只需要在圖形用戶界面對話框上進行相關操作比在編輯框中輸入?yún)?shù),在組合框中選擇算法種類等,并結(jié)合M程序和命令窗口一共三個方面就可以比較方便和簡潔的解決一些較復雜的優(yōu)化問題,從而可以避免繁瑣的編程。然而對于PSO算法MATLAB不提供圖形用戶界面,要解決這個問題只有通過上面兩個工具箱的啟示,模仿神經(jīng)網(wǎng)絡和遺傳算法工具箱,自己編寫一個PSO算法適用的可視化開發(fā)工具。當前主流的可視化開發(fā)工具有Visual C++、Visual Basic等,“非主圖1 基于MFC的PSO算法可視化開發(fā)平臺界面流”的可視化開發(fā)工具有MATLAB、Delphi6.0、LABVIEW7.2等本章將用主流和非主流的方法對PSO可視化開發(fā)問題做了一些初步探討。圖1即為在Visual C++6.0環(huán)境下所設計的一個簡易PSO算法開發(fā)平臺的主界面,其右側(cè)為設置參數(shù)和優(yōu)化對象區(qū)域,算法可供選擇、優(yōu)化函數(shù)也可以選擇,左側(cè)空白區(qū)域用于繪制PSO算法在求解優(yōu)化問題時的收斂曲線。用戶只需設置參數(shù)的值,選擇被優(yōu)化函數(shù)和所使用的算法,點擊確定就可以得到優(yōu)化結(jié)果和收斂曲線,這樣大大減小了編程帶來的麻煩,提高了工程項目開發(fā)的效率。

為進一步完善PSO算法的可視化平臺使其在適用范圍和優(yōu)化性能等方面更趨合理和實用,本文在VC++6.0環(huán)境下設計了微粒群算法性能測試平臺包括主界面和子界面如圖2和圖3所示。

圖2 微粒群算法可視化開發(fā)平臺主界面

圖3 微粒群算法可視化開發(fā)平臺計算模塊

此外在MATLAB環(huán)境下如果PSO算法和適應度函數(shù)已通過M語言實現(xiàn),那么此時就已經(jīng)完成了常規(guī)的優(yōu)化仿真,在PSO算法可視化平臺開發(fā)時,只需要將這段M程序添加到確定按鈕的回調(diào)函數(shù)[3](CALLBACK)里面,此時算法參數(shù)不再是以定值的形式固化后臺界面后臺,而是可以通過編輯框的輸入獲取的,仿真完成后結(jié)果送編輯框顯示出來并繪制收斂曲線就完成了一個簡單的PSO可視化平臺如圖4所示,用戶可以通過在編輯框中輸入相關參數(shù),點擊開始仿真按鈕就可以得到優(yōu)化結(jié)果和收斂曲線,從而避免了重新設置參數(shù)需要打開PSO算法的源代碼,大大縮短了算法的工程開發(fā)周期。

圖4 MATLAB環(huán)境下的PSO算法優(yōu)化平臺

5 幾種微粒群算法可視化平臺開發(fā)方案

的比較

綜上所述除了Visual C++6.0 MFC環(huán)境外,VB6.0、Delphi6.0、MATLAB、LABVIEW7.2等軟件也可以進行可視化編程。通過實驗可知在Visual C++6.0 、VB6.0、Delphi6.0、LABVIEWA7.2等幾種開發(fā)環(huán)境下其繪圖功能和數(shù)據(jù)處理能力上遠遠不如MATLAB軟件強大,因此利用MATLAB GUIDE(GUI Builder)來開發(fā)PSO算法的可視化平臺也有其獨到的優(yōu)勢,直接在命令窗口輸入GUIDE命令即可打開MATLAB GUI設計窗口,在這上面操作簡單快捷。

利用Delphi6.0、VB6.0、VC6.0 編程或MATLAB7.0 GUIDE界面編程等都可以用來設計PSO算法的可視化開發(fā)平臺,但在設計過程中各自還是都存在一些優(yōu)缺點。 比如Visual C++6.0 編程編譯最終產(chǎn)生是一個后綴名為EXE的可執(zhí)行程序,將這個EXE的可執(zhí)行程序復制或轉(zhuǎn)移到裝有VC的PC機的任意地方都可以直接雙擊該應用程序直接使用,可移植性強,這是MFC編程的一個最大的優(yōu)勢。而MATLAB7.0 GUI編程最終編譯運行產(chǎn)生并不是一個可執(zhí)行的文件,而必須運行編譯通過后綴為fig的圖片文件或?qū)腗程序文件才可以得到所開發(fā)的可視化界面,即通過MATLAB開發(fā)的可視化界面不具備良好移植性能,要使用可視化平臺首先必須打開開發(fā)軟件MATLAB,而通過MFC開發(fā)的可視化平臺在使用時不需要打開VC,它脫離開發(fā)環(huán)境,這樣就顯得非常方便。但是眾所周知MATLAB具有強大的繪圖功能,且操作簡單,這些都會給實際工程開發(fā)提供很大方便并節(jié)約工程開發(fā)時間,且PSO算法本來就是用于優(yōu)化的,而MATLAB具有強大的數(shù)學處理能力適合處理各類優(yōu)化問題,對比MATLAB代碼和C語言代碼MATLAB代碼效率更高,并且MATLAB GUI編程產(chǎn)生的fig圖片文件和M程序文件通過一些整合和處理還是可以轉(zhuǎn)變?yōu)橐粋€后綴名為EXE的可執(zhí)行程序的[4],只是MATLAB不能直接產(chǎn)生這個可執(zhí)行的程序而已,這樣一來也可以彌補MATLAB界面編程移植性能不好的一個缺點,綜上對比選擇MATLAB界面編程,或者采取MATLAB、VC++混合編程充分發(fā)揮二者的優(yōu)勢開發(fā)PSO算法的可視化開發(fā)平臺更加優(yōu)越。

6 結(jié)論及展望

本文所設計的PSO算法可視化平臺取得了較好的優(yōu)化效果,然而對于PSO算法可視化開發(fā)平臺的研究還需進一步的完善,比如優(yōu)化函數(shù)只能選取有限的幾種,算法的選擇也很有限,此外微粒的維數(shù)在圖4中可視化工具開發(fā)時就已限定為2,因此在應用上PSO可視化開發(fā)平臺還是會受到很大的限制。今后可視化平臺的研究重點應該是如何增加改進算法的種類,如何自己定義優(yōu)化函數(shù),如何使參數(shù)的設置變得更加靈活化,讓可視化開發(fā)平臺更具一般性即實用性更強等方面。

參考文獻

[1]蔡自興.人工智能及其應用[M].北京:清華大學出版社.2006.

[2] 曾建潮,介婧,崔志華.微粒群算法[M].北京:科學出版社,2004.

[3] 羅華飛.MATLAB GUI 設計學習手記[M].北京:北京航空航天大學出版社,2009.

[4] 王素立,高潔,孫新德.MATLAB混合編程與工程應用[M].北京:清華大學出版社,2008.

注:本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文

主站蜘蛛池模板: 国产一级在线观看www色 | 欧美成人国产| 免费人成视网站在线不卡| 97国产精品视频人人做人人爱| 国产成年女人特黄特色大片免费| 亚洲经典在线中文字幕| 免费一级无码在线网站| 亚洲无码一区在线观看| 天天色天天操综合网| 人妻精品全国免费视频| 日韩av无码DVD| 毛片免费在线视频| 亚洲欧美日韩另类在线一| 日韩欧美91| 黄色不卡视频| 国产亚洲精品资源在线26u| 99视频在线免费| 99在线视频免费观看| www成人国产在线观看网站| www.亚洲色图.com| 国产色爱av资源综合区| 国产成人免费视频精品一区二区 | 成年A级毛片| 高清国产在线| 天天做天天爱夜夜爽毛片毛片| 妇女自拍偷自拍亚洲精品| 九九久久精品免费观看| 亚洲国产精品一区二区高清无码久久| 青青青伊人色综合久久| 午夜一级做a爰片久久毛片| 欧美激情综合一区二区| 国内精品一区二区在线观看| 青青草a国产免费观看| 国产国产人成免费视频77777| 亚洲国产成人麻豆精品| 在线免费看黄的网站| 亚洲欧美不卡视频| 久久人妻xunleige无码| vvvv98国产成人综合青青| 热热久久狠狠偷偷色男同| 午夜啪啪福利| 亚洲女同一区二区| 四虎永久免费地址在线网站| 露脸国产精品自产在线播| 国产99在线| 欧美天堂在线| 亚洲无码高清视频在线观看| 亚洲国产中文精品va在线播放| 99视频精品在线观看| 在线亚洲精品福利网址导航| 色播五月婷婷| 中文字幕在线看| 亚洲精品天堂在线观看| 日本午夜影院| 91精品在线视频观看| 91精品啪在线观看国产91| 97国内精品久久久久不卡| 精品无码人妻一区二区| 另类欧美日韩| 久996视频精品免费观看| 丰满人妻一区二区三区视频| 人人看人人鲁狠狠高清| 国产精品男人的天堂| 91成人在线观看视频| 亚瑟天堂久久一区二区影院| 最新亚洲av女人的天堂| 天天操精品| 亚洲青涩在线| 国产va在线观看免费| 亚洲无码91视频| 久久综合成人| 久久婷婷六月| 永久免费无码日韩视频| 青青国产成人免费精品视频| 国产日韩精品欧美一区灰| 丰满人妻被猛烈进入无码| 精品无码日韩国产不卡av| 国产成人精品18| 国产主播一区二区三区| 亚洲欧美日韩中文字幕一区二区三区 | 亚洲黄网在线| 欧美日韩精品一区二区在线线|