前言:一篇好文章的誕生,需要你不斷地搜集資料、整理思路,本站小編為你收集了豐富的數學建模常用模型算法主題范文,僅供參考,歡迎閱讀并收藏。
構建合理的培訓體系構建科學合理的數學建模培訓體系,建立數學知識與專業課知識的課程融合體系,可以從以下幾個方面著手。(1)每年年底,為下一年競賽做好準備工作,包括給全校學生作數學建模普及性講座和針對性的動員講座、組織學生報名和選拔。(2)每年定期組織培訓,培訓學時約60—72課時,精選內容、總結多年競賽經驗、精選培訓內容。重點為規劃論及最優化方法建模、模糊數學與綜合評價方法建模、層次分析與多目標決策方法建模、微分方程與差分方程建模、圖論建模方法與應用。(3)在培訓結束后以實際競賽性建模比賽進行全校性選拔,確定參賽隊員的名單,再對他們進行集訓。對參賽隊員進行強化訓練(集訓),內容包括:中文Word排版,Excel、Matlab、SPSS、LINGO等軟件的使用,國內外數學建模競賽題目及論文的閱讀、講解和模擬競賽。(4)每年定期對參賽隊員進行訓練、模擬比賽、講授論文和摘要的寫作要領等內容,讓他們作好充分的準備,以較好的競技狀態迎接比賽[3]。
內容及思維培訓(1)培訓的內容主要包括四個方面一是經典模型。在模型的發展史上,積累了很多經典模型,這些模型大多可以作為其它模型的子模型,其算法有很強的實用性,如存儲模型、對策模型、網絡模型、生物模型、軍事模型、規劃模型、微分方程模型等[4]。二是常用算法。包括優化算法、動態規劃算法、網絡算法、數值算法、近似算法、遺傳算法等。三是精講試卷。廣泛搜集國內、國際數學模型試卷,按照競賽的程序,分類進行實戰演練,要求學生在規定時間內交出論文,然后講解分析這些試卷,使學生快速掌握試卷的答題技巧和出題風格。其目的是使學生在論文點評與案例分析指導下,不斷發現和改正存在的問題,全面提高建模水平,掌握競賽的必要技巧。四是計算機實用知識的培訓。主要包括計算機信息檢索、資料查閱、寫作格式、常用的數學軟件等。嚴格規范論文寫作。訓練論文規范性三大部分內容:(1)摘要部分。訓練學生掌握字數在200~300字,概括論文中模型的主要特點、建模方法和主要結果。(2)中心部分六要素訓練:①問題提出、問題分析。②模型建立:補充假設條件、明確概念、引進參數、模型形式(可有多個形式的模型)、模型求解。③計算方法設計和計算機實現。④結果分析與檢驗。⑤討論模型的優缺點、改進方向、推廣新思想。⑥參考文獻。(3)附錄部分:①計算程序、框圖。②各種求解演算過程、計算中間結果。③各種圖形、表格和論文寫作的技巧。學生通過第三階段的專業訓練,在寫作競賽論文時就有了較好的經驗和常識,同時也提高了學生在以后畢業設計和論文的寫作水平,增強了綜合素質[5]。(2)注重思維上的培訓一是要求學生敢于用數學語言描述現實世界的事物和現象,要求學生大膽猜想,養成理論聯系實際的數學思維習慣。二是在問題的探究過程中,加強直覺思維的訓練。為學生創設自由想象與自由發揮的空間,激勵學生于無疑處見有疑,發現別人沒有發現的潛在解決問題的方法。從而解決思考問題上的單一化、教條化、規律化,在數學建模競賽中,能從多個角度、多個層次、多個方法上去思考和理解問題、分析問題。三是將問題進行類化比較,培養學生的轉換能力。轉換是運用已有的知識和經驗從一個事物遷移到另一個事物、從一個現象聯想到另一個現象、從一個過程變換成另一個過程、從一個模型變換到另一個模型、從一種方法變換到另一種方法的心理活動。通過問題的類比轉換找到事物間的聯系,找到解決問題的途徑,使學生在實際問題的探究、發現過程中培養思維品質的靈活性、創造性[6]。四是通過階段性的建模和查證,逐步建立起完善的模型。從簡單模型入手,通過改變和復雜化問題的假設最終建立起相對合理和完善的模型,這是一種數學建模的基本思路。同時,要讓學生明白,在數學建模競賽中,同一個問題從不同的角度去理解,會獲得不同的數學模型和求解方法,沒有唯一的正確答案,只有抓住問題的本質,通過創新找到解決問題的最佳方案[7]。五是加強學生的正向思維轉向逆向思維訓練。讓思維向對立面的方向發展,從問題的相反面深入地進行探索,樹立新思想,創立新形象。
數學建模培訓形式(1)分組形式學習數學建模培訓不再像其他課程以個體為單位進行學習,在開課之初先請學生自愿組合成若干個學習小組,可以從優勢互補的意向出發,一個小組的組合中要有數學基礎較好、編程及計算機的使用較熟練、寫作表達能力較強成員組合為最佳,一般三人為一組。課程考勤、作業、考核皆以小組為單位進行,課堂上開展小組討論并上交課堂作業的研討結果,課外作業也是要求小組集體充分研討之后完成上交[8]。在該階段可以達到兩個目的:一是組建最佳的學生小組團隊,實現磨合加優化調整;二是構建參賽學生完整的數學知識,提高計算機技能以及建立數學模型能力,使之相互學習,取長補短,達到“1+1>2”的最佳狀態。(2)互動式教學數學建模培訓,主要是靠同學們自己去學,這能充分調動同學們的積極性,充分發掘同學們的潛能,培訓中廣泛采用討論方式與課后自習為主要手段。在數學建模培訓中,以開拓學生的思維方式為主,在課堂上對一些并不復雜的問題,讓學生盡可能從多角度去認知,大膽提出各種不同的解決方案,然后讓大家共同討論在處理問題時有哪些謬誤,有哪些創造性的思想,有哪些獨到的見解,分析比較不同解決方案的優缺點。課堂上,同學們自己報告、討論、辯論,教師主要起引導、質疑、答疑、輔導的作用,這不僅大大提高了學生的表達和交流能力,同時培養了學生探索發現、自主思考、團結合作的能力。
針對高職院校特點,特殊培訓高職院校有著其特殊的情況,必須同本科院校有所區別。因此,須充分利用好高職院校的資源,認識學生的不足,提出幾點建議:(1)提前進行培訓,合理安排課程內容其一,高職院校學生的數學基礎與本科學生基礎相比薄弱得多,因此必須提前進行培訓。其二,學生在校時間只有3年,所學數學知識大多集中在一年級。若等所有數學課程都學習完成后再進行培訓,則時間太過倉促,不利于思維的培養。所以,可以在大一時候就開始進行數學建模的培訓,提前做出準備,強化理論知識與模型思維。其次在課程的選擇上,應有所先后,因為學生在大一的數學課程學習過程中,是按照極限、導數、積分、微分方程這樣的順序來學習的。因此,在課程選擇上,注意初期應避開未講解到的數學知識,可以選擇性的講解如線性規劃、圖論、最優化、概率組合建模等內容。在學生學習相關知識后,再進行微分方程與積分思想等模型的講解。通過該方法,可以有效利用時間,使得學生有一個長期的數學思維培養過程。(2)與專業實際結合,實戰演練高職院校注重職業能力的培養,高職院校中的許多專業與生產實際結合得非常緊密,因此可以與專業知識充分結合,以達到學生實戰演練的目的??梢葬槍θ8鲗I征集實際問題中所遇到的有價值的困難題目作為建模題目。例如,汽車工程系在生產、技術開發中所遇到的相關問題;建筑工程系中項目研究中所遇到的相關難題等等。這樣學生通過實際運用,培養自身的建模能力。同時,通過建模所得結果,對實際進行指導和驗證,有助于實際問題的解決。同時,也充分利用和開發網絡資源,及時跟蹤最新的時代問題。例如:奧運場館建設問題、房地產決策問題、電力資源調配問題等等,都可作為數學建模的討論題目。值得強調的是,在建模題目的選擇上,應適當突出它的實踐性和科普性。
作者:鄒偉龍 單位:重慶電子工程職業學院,
(1.中國91055部隊,浙江 臺州 318500;2.中國91576部隊,浙江 寧波 315021)
【摘 要】綜合保障的實踐表明,保障任務的核心問題就是如何維護復雜裝備的系統可靠度和運行可用度??捎枚冉J墙鉀Q這些問題的前提,隨著新理論的不斷涌現,對建模關鍵技術的研究越來越深入。分析了可用度模型的分類和建模過程中遇到的關鍵技術,論述了系統結構、壽命分布、使用維修等條件對可用度建模過程中的影響,并對建模方法的適應性進行了初步的探討。
關鍵詞 可用度;建模方法;馬爾科夫;更新過程
作為衡量裝備戰備完好與任務持續能力的重要參數——系統可用度,長期以來一直受到裝備研制部門和裝備使用部門的高度重視,它的優點在于其綜合性很強,把裝備的可靠性、維修性、測試性和保障性等設計特性綜合為軍方所關心的使用參數。[1-3]解決系統可用度問題的前提是建模,本文研究的目的就是提出一個可用度建模方法的框架,為深入研究打下基礎。
1 建模方法分類
可用度的數學模型可以大致分為概率模型和統計模型兩類:概率模型和統計模型。概率模型是指,從系統結構出發及部件的壽命分布、修理時間分布等等有關的信息出發,來推斷出與系統壽命有關的可靠性數量指標,進一步可討論系統的最優設計、使用維修策略等。其中概率模型根據系統相關時間的概率分布的不同又分為微積分模型、馬爾科夫模型和更新過程模型。統計模型是指,從觀察數據出發,對部件或系統的壽命、可靠性指標等進行估計和檢驗。
隨著相關領域的發展,可用度的數學模型出現一類綜合類模型,包括:基于離散事件的模型、基于神經網絡的模型和基于遺傳算法的模型等??捎枚冉7椒ǚ诸惾鐖D1所示。
2 模型研究
2.1 概率模型
1)微積分模型
主要根據基本的數學機理和單元可用度的內涵,依靠微積分的運算方法解算系統的可用度。設單元的故障概率密度函數為f(t),修復概率密度函數g(t),則其故障頻率w(t),修復頻率v(t)以及不可用度Q(t)的計算公式如下:
式中:f1(t)表示單元在t=0時刻是正常條件下故障概率密度函數;f2(t)表示單元在t=0時刻是被修復條件下故障概率密度函數。
此方法適用于服從任意分布的部件,針對可修復部件的可用度計算模型,采用逐次逼近方法,求解可用性指標的第二類Volterra積分方程,如式(5)所示。
這種積分模型適用于n中取m系統的平均穩態可用性,如核電廠的散熱系統等。
2)馬爾科夫模型
當系統的各組成部件的壽命、維修時間等相關時間均遵從指數分布,且部件失效和修復相互獨立,只要適當定義系統的狀態,總可以用馬爾科夫過程來描述,這樣的可修系統稱為馬爾科夫可修系統。
以n個不同單元組成的串聯系統為例,馬爾科夫模型如下,第i個單元的故障率為?姿i,維修率為ui。只要一個單元故障,系統就故障,進行維修,系統地狀態集合為S={0,1,2,…,n},其中系統正常工作狀態集合為W={0},系統故障狀態集合為F={1,2,…,n},系統狀態概率向量表示為X={x0,x1,…,xn},系統狀態轉移圖如圖2所示。
馬爾科夫模型適用于系統穩態可用度的研究中,被廣泛應用于對互聯計算機通信網絡,雷達等復雜電子系統的建模。
3)更新過程模型
其中,Ai(t)表示系統可用度。gi(t)是定義在[0,∞]上的非負、在任何有限區間上的有界函數,在計算可用度時,通常這個函數是不同裝備服從任意分布的維修,壽命,保障延誤的時間。
馬爾科夫更新模型的建模流程:
(1)模型假設,構建服從一般分布的各統計量;
(2)系統狀態轉移關系確定;
(3)半馬爾科夫表達式確立,并對相應的概率進行Laplace-Stieltjes變換;
(4)構建馬爾科夫更新方程組,根據極限定理及洛比達法則求解系統穩態可用度,系統的瞬時可用度可根據更新方程組直接拉氏反變換求得。
馬爾科夫更新模型適用于估算通用性的系統效能,武器系統的可用性及備件更換方面等。其優點在于能適應各種分布類型的問題求解,不足之處是計算過于繁瑣。
2.2 統計模型
現場數據統計方面的研究主要是按照可用度的定義,對歷史數據或仿真數據進行研究,運用數理統計的基本理論與方法得到的相應結論,即統計規律意義上的裝備可用度的估計值或置信區間。
這里我們重點介紹蒙特卡洛仿真方法。對于復雜可修系統或者壽命或維修時間不遵從指數分布的系統的可用度分析,經常還需要借助仿真技術來實現,蒙特卡洛(Monte Carlo)仿真是常用的仿真技術。
蒙特卡洛仿真的步驟:
(1)構造或描述概率過程;
(2)實現從已知概率分布抽樣;
(3)建立各種估計量。
蒙特卡洛仿真方法一般不單獨使用,它一般有模型條件的限制和輸入數據的要求。根據一般可用性仿真的要求,建立了仿真方法的一般流程示意圖,如圖4所示。
統計方法通過歷史數據或仿真數據,只能獲得系統可用度的估計值或置信區間,無法獲得系統準確的瞬時可用度。并且這種統計意義下的系統瞬時可用度根本無法反映系統瞬時可用度波動的內在機理,不利于研究的展開。但是,統計方法卻可以作為模型有效性驗證的重要工具。
2.3 綜合類模型
隨著相關領域的發展,離散事件、神經網絡和遺傳算法等模型被廣泛的應用于可用度的s建模領域。文獻[4]建立了對預防性維修的單部件離散可修系統的瞬時可用度模型,利用概率分析的方法詳細討論了系統正常、修復性維修和預防性維修3個狀態之間的轉移關系。文獻[5]利用神經網絡學習能力強,分布式,并行性和非線性的特點,結合裝備可用度的計算要求,建立預測模型,通過訓練及預測結果,確定網絡模型結構。文獻[6]針對部件壽命服從非指數分布,維修屬于非馬爾科夫過程的復雜設備為對象,以系統可用度為優化目標,以預防性維修周期為優化變量,基于蒙特卡洛和遺傳算法研究預防性維修策略的優化問題,建立了設備可用度的優化模型,并將遺傳算法中的個體進化搜索用于維修策略優化。同時,粒子群算法也被應用于可用度的建模中。
2.4 模型的適應性
表1是對各種模型適應性的分析,經過研究得出每一種建模方法適用于可用度建模的類型、考慮因素和應用領域。
3 總結
在可用度建模過程中,由于各種原因,往往遇到很多困難,本文的研究提出了一套較為完整的可用度建模方法,全面的分析了各種方法的適用條件和考慮因素,為復雜系統的可用度建模提供了依據,為設計和保障具有高可用性的裝備提供了技術支持。
參考文獻
[1]Machere Y, Koehn P, Sparrow D.Improving reliability and operational availability of military systems[C]// IEEE Aerospace Conference.2005,3489-3957.
[2]徐廷學.導彈武器系統的使用可用度[J].航空科學技術,2000,3:34-35.
[3]單志偉.裝備綜合保障工程[M].國防工業出版社.2007,4-5.
[4]楊懿,王立超,鄒云.考慮預防性維修的離散時間單部件系統的可用度模型[J].航空學報,2009,30(1):67-69.
[5]段志勇,張彤,等.基于BP神經網絡的飛機完好率建模研究[J].航空計算技術,2007,37(3):37-40.
關鍵詞: 數值分析 數學建模 Matlab
數值分析又稱計算方法,是一門與計算機使用密切結合的實用性很強的一門課程,重點研究如何運用數值計算方法去處理實際工程問題,因此數值分析在科學研究、工程建設和經濟建設等很多方面有著廣泛的應用。在信息科學和計算機技術飛速發展的今天,這門課程中的數值方法更顯得極其重要,但是對多數學校來說,還沒有引起對這門課足夠的重視,而且在數值分析的教學過程中都存在很多不足。不少學者也討論過我國高校中數值分析課程的教學情況,其中存在一些普遍問題,例如學生理論學習模式化、實踐能力不夠、缺乏應用性,學習過程中學生感覺到枯燥或者學習效果不佳,學校軟、硬件設施無法滿足學生的上機實習等。如何更好地開展這門課程的教學工作,對于我們來說是一個巨大的挑戰。下面我們來談談在教學過程中遇到的幾個問題。
1.理論基礎知識扎實,同時采用啟發式教學
課程中的很多公式是推導出來的,推導過程比較煩瑣,得到的公式也比較冗長,而且比較難記,對于已經復雜并且很冗長的數值公式,還需要進一步進行抽象的理論分析,包括算法的收斂性如何,數值算法是否穩定并進行誤差分析,以及分析算法的空間和時間復雜性等,同時還涉及如微積分、線性代數、常微分方程等。過多地強調數學理論證明,大多數的學生覺得這門課很難,學得很枯燥,也感覺不到樂趣,從而越來越厭煩學習這門課程。
因此,我們要將“因材施教”的理念落到實處。方法的講授應該盡量地從實例中提出問題,引導學生去思考如何運用數學知識去構造解決的方法,然后給出相應的數學理論。并且,給出一種方法,可以換位思考,激發學生思考是否能用另外的已學方法來求解。這樣不僅能復習已學的知識,而且能鞏固各種知識之間的聯系,還可以啟發學生把學過的知識學以致用,真正了解學習帶來的樂趣。
2.將數學建模的思想融入到教學過程中
數值分析是對實際問題的數值模擬方法的設計、分析與軟件實現的理論基礎。要解決具體的實際問題,首先需要建立起適當的數學模型,將實際問題的解決歸結為相應的數學問題的求解,然后對所歸結的數學問題建立相應的數值方法。這樣就可以以實例啟發學生弄清為什么要進行數值分析、應該如何引進數值方法進行分析,建立一種數值分析的方法后,哪些問題是值得且必須研究的。例如在汽車、飛機等的外形設計過程中,利用樣條技術設計的外形越來越光滑、美觀。學生了解了樣條插值的實際應用背景后就會對樣條插值的理論更感興趣,也會更有動力來學。
將數學建模的思想融入到數值分析教學過程中,要求我們必須有一個合適的切入點,不能用數學建模課的內容過多占有數值分析課的教學,因此精選只涉及相應數值分析理論和方法而又能體現數學建模思想的內容,既能吸引學生又是學生以后可能碰到的案例,將其融入到數值分析課程中是十分重要的。下面具體舉兩個例子,插值方法可以引入人口增長的模型和設計公路平面曲線的問題,常微分方程的差分方法可以引入導彈追蹤和估計水塔的流量問題,方程求根的迭代法可以引入一般戰爭模型,線性方程組的解法可以引入投入產出模型和小行星軌道問題等。
3.結合Matlab進行實踐教學
在結合多媒體教學的過程中,盡量地在講解數學模型的過程中,無論是問題的引入還是算法的講解和實現,以及結果盡可能地轉化成圖形等一些可視的結果展示給學生,以激發學生的學習興趣,引人入勝,Matlab軟件的可視化功能能夠實現這一點。
在計算機技術飛速發達的今天,只要有效地把教學過程和相關的計算機技術結合起來,就能夠做到減輕教師教和學生學的負擔,優化學習環境,實現高效教學。在一些數值分析教材中一些常用的算法都已經有了現成的程序,因此在授課的過程中,對這些算法進行展示時,要讓學生從中學會如何將一個算法轉變成一段程序。鼓勵學生自己根據算法寫出程序流程圖,然后使用Matlab語言將其轉變成程序,將自己所得程序與課本中的結果進行比較分析,這個過程有助于學生更好地理解算法,增強學生動手實踐的自信心。
4.結語
數值分析是研究數學模型的數值計算方法。隨著電子計算機的迅速發展、普及,以及新型數值軟件的不斷開發,數值分析的理論和方法無論是在高科技領域還是在傳統學科領域,其作用和影響都越來越大,實際上它已成為科學工作者和工程技術人員必備的知識和工具。
對于理工科的本科學生而言,它的理論和實踐知識對學生的要求都比較高。因此要讓學生學好這門課程,需要在教學中采用一些技巧性的教學方法,比如采用啟發式的教學方法,融入數學建模的思想,以及結合Matlab進行實踐教學等。這樣可以調動學生主動學習的積極性,提高學生的綜合素質,使學生真正學好這門課程。
參考文獻:
[1]趙景軍,吳勃英.關于數值分析教學的幾點探討[J].大學數學,2005,21(3):28-30.
[2]孫亮.數值分析方法課程的特點與思想[J].工科數學,2002,18(1):84-86.
【關鍵詞】數學建模;數學實驗;創新能力;微課;翻轉課堂
隨著大學生數學建模競賽的不斷開展,各高校也越來越重視數學建模和數學實驗課程的教學工作,并通過圍繞該賽事組織本校的預賽等工作,大力推廣數學建模的參與面.分析歷年來大學生數學建模競賽賽題,可以發現近年的賽題有如下一些特點:題目的難度逐年升高,對數學知識的要求超出書本范圍;問題越來越接近解決生活中遇到的實際問題,題目應用性很強;題目中常常會出現大數據,這些數據的處理和合理應用直接影響題目的求解;題目經常是命題專家的課題的一部分或簡化,要求有一定的專業背景知識;解決問題的手段與計算機的聯系也越來越密切,數學軟件的使用趨于普遍,對學生的計算機能力要求越來越高;問題的綜合性要求較高,對學生的數學應用能力和創新能力也要求更高.
一、當前數學建模和數學實驗課程的特點及不足
目前已有的數學建模和數學實驗的教學工作,主要是針對典型的教學案例,講授如何建立適當的數學模型的理論知識,以及分析問題和解決問題的過程.教學中,教師還是以電子課件的課堂講授為主,學生的實驗活動主要是在課外完成,練習作業也基本以較為簡單的題目為主,學生難以獲得系統的、全面的訓練.因此,數學建模與數學實驗課程傳統的教學內容、教學手段、教學方法與近年數學建模競賽和學生對競賽輔導的要求的距離較大.學生在面對大學生數學建模競賽的真題時,普遍感覺題目較難,難以下手;很多學生在建模的過程中有一些好的想法,但是由于數學軟件基礎較弱,難以實現自己的算法.同時,由于這兩門課程通常分期開設,加之學時有限,使學生很難把兩門課程有效地聯系起來.
二、數學建模與數學實驗課程改革內容
(一)教學形式多樣化
1.高等代數和數學分析等數學主干課程的教學中,要融入數學建模和笛實驗的內容,增加一些簡單建模的例題,強調運用數學知識解決實際問題的教學.
2.我校每年舉辦多次數學建模系列講座,對更多的學生進行數學建模啟蒙教育,宣傳數學建模的基本思想,激發了學生們對數學建模的興趣.
3.同時,基于微課的翻轉課堂模式,開設數學實驗和數學建模公共選修課,系統介紹數學建模的基本內容和數學軟件的功能,培養學生的數學建模能力.
4.每年組織開展1次校內數學建模競賽、2次建模夏令營,選拔優秀學生參加全國大學生數學建模競賽和美國大學生數學建模競賽.2016年獲得美賽二等獎3項、國賽一等獎1項、國賽二等獎6項、國賽省一等獎11項.目前我校數學建模成績在吉林市名列前茅.
5.從數學建模和數學實驗出發,為學生開設創新實驗,建立數學建模工作室,鼓勵學生申請數學建模的大學生創新項目,培養優秀學生的數學建模的素養和能力.
(二)教學內容多樣化
1.結合課程的特點,在數學主干課程中穿插具有建模思想的例題.例如,在常微分方程課程中,增加對汽車碰撞模型的介紹.這類教學主要是讓學生了解和體會數學建模的基本思想和基本概念,激發學生應用數學知識解決問題的興趣.
2.數學建模講座可以選取某種模型,使學生全面理解模型的適用范圍、典型特征、建模及求解過程.通過對該模型比較深入的理解,能了解數學建模的全過程,能舉一反三.
3.數學建模和數學實驗的選修課可以比較系統地講授常用的數學模型的基本知識,介紹一種數學軟件的使用.通過該課程的學習,使學生能比較系統地了解數學建模的基本過程,掌握數學建模的基本技能,能運用數學模型解決較為簡單的實際問題.
(三)將數學建模與數學實驗課程合并
將數學理論知識、數學建模的思維方法與數學實驗融為一體,充分體現了數學的應用價值.
1.學生在學習各種典型案例的同時,可以利用數學軟件及時開展實驗.這樣既彌補了單獨開設的缺點,又在一定程度上節省了課時,效果也有了明顯改觀.
2.合并后的課程強調淡化理論,特別注重學生實踐動手能力的培養.
3.教學方式采用的是分專題的案例教學法,比如,在數據處理專題中,會介紹數據擬合、插值、線性回歸和非線性回歸分析的相關案例以及實驗工具.
4.課程宗旨就是讓學生通過課程學習,在分析問題,應用數學方法原理建立數學模型,并綜合應用計算機技術解決實際問題的能力培養上有質的飛躍.
(四)考核方式多樣化
本著以學生為主體,以能力考查為中心,以提高教學質量為根本的理念,我們對課程的考核方式進行了改革,具體的成績評定方案如下:
1.平時成績占最終成績的10%;
2.實驗課考核占最終成績的30%;
3.實踐論文(模型+求解+排版)占最終成績的60%.
總體看,新的考核方式更看重實踐環節的考核.這里的實踐有兩層含義:一是學數學,用數學,嘗試解決一些生活實際問題;二是上機實踐,要求熟練掌握各種基本的數學軟件工具,并能輔助學生對實際問題進行探究和求解.
【關鍵詞】數學建模 數學軟件 Lingo
【中圖分類號】G642 【文獻標識碼】A 【文章編號】1009-9646(2008)09(a)-0153-01
1 數學建模簡介
數學建模是對現實世界的一個特定對象為了一個特定目的,根據特有的內在規律做出一些必要的簡化假設,運用適當的數學工具,得到一個數學結構的過程。在電工數學建模以及全國大學生數學建模競賽中最常碰到的是一類決策問題,即在一系列限制條件下尋求使某個或多個指標達到最大或最小,這種決策問題通常稱為最優化問題。每年的數學建模比賽都有一些比如解決最優生產計劃、最優決策等最優化問題,它主要由決策變量、目標函數、約束條件三個要素組成。當遇到實際的最優化問題轉化為數學模型,對于較大的計算量可以使用Lingo系列優化軟件包求解。
2 Lingo軟件簡介及其在建模比賽中的應用
Lindo和Lingo專門用于處理線性規劃與非線性規劃方面問題。求解最優化問題的軟件包,其線性、非線性和整數規劃求解程序已經被數千萬的公司用來做最大化利潤和最小化成本的分析。Lindo和Lingo能在產品分銷、成分混合、存貨管理、資源配置等問題的數學建模中發揮巨大作用。Lingo是一套快速、簡單、更有效率求解線性、非線性與整合最佳化模型的完整工具,除了具有Lindo的全部功能外還可用于求解非線性規劃,也可用于一些線性和非線性方程組的求解等。Lingo提供了完整的整合套件,包含:求解最佳化模型的語言、完整建構與編輯問題的環境以及快速求解問題套件。其內部優化問題的建模語言為建立大規模數學規劃模型提供了極大方便,包括提供的50多個內部函數,其中有常用數學函數、集合操作函數和自編函數等供參賽者建立優化模型時調用,通過這些函數的使用能大大減少參賽者的編程工作量,使求解大型規劃變得不再費時費力。并提供了與其它數據文件的接口,易于方便地輸入、求解和分析大規模最優化問題。這兩個軟件的最大特色在于其具有的快速建構模型、輕松編輯數據、交互式模型或建立完成應用、豐富的文件支持等特點, 2003年的全國大學生數學建模競賽中D題(搶渡長江)的優化問題、2005年全國大學生數學建模競賽中B題(DVD在線租賃)、2007年全國電工數學建模競賽中A題(機組組合問題)等可以充分展示用Lingo建模語言求解的優越性。
3 Lingo軟件短期訓練教學策略
為了讓學生盡快掌握學習這個軟件,在培訓時本人借鑒財經大學的教學經驗以及本人在07年電工數學建模競賽帶隊的經驗總結了以下我們短期學習該軟件的方法。
3.1 模仿式(即學即用Lingo軟件)
所謂模仿式就是讓學生照著同類模型的編程格式練習。用數學建模當中具有的普遍性的四種模型給學生學習軟件,在教學過程中用幻燈片給學生逐一演示。
一般模型:
線性規劃:
在Lingo窗口中輸入如下代碼:
然后單擊工具條上的即可。
數據量較小的模型:
2004年全國大學生數學建模競賽C題(酒后駕車)中給出某人在短時間內喝下兩瓶啤酒后,間隔一定時間得到數據。建立了無約束的非線性規劃模型:
程序如下:
Model
Sets:
Bac/r1..r23/:T,Y;
Endsets
Data:
T=0.25,0.5,0.75,1,1.5,2,2.5,3.5,4,4.5,5,6,7,8,9,10,11,12,13,14,15,16;
Y=30,68,75,82,77,68,68,58,51,50,41,38,35,28,25,18,15,12,10,7,7,4;
Enddata
Min=@sum(Bac:(a1*(@exp(-a2*T)-@exp(-a3*T))-Y)^2);
End
Lingo求解多元函數極小值時內部所采用的算法效率高,速度快,精度高,無需初始值,能準確地得到回歸系數的最小二乘解,程序簡潔,易于修改和擴展。
一些特殊模型:
當出現分段函數時如何解決,2000年全國大學生數學建模競賽B題(鋼管訂購和運輸)就是這樣的例子。Lingo軟件是利用符號“#LT#”即邏輯運算符,用來連接兩個運算對象,當兩個運算對象不相等時結果為真,否則為假。類似的邏輯運算符共有9個。
數據量較大的模型:
當遇到數據量比較大的題型的時候,Lingo的輸入和輸出函數可以把模型和外部數據(文本文檔、數據庫和電子表格等)連接起來。比如2005年全國大學生建模賽題B就是需要處理1000×100維數據的題型。它的Lingo程序如下:
model:
sets:
guke/c0001..c1000/:zulin;
dvd/d001..d100/:zongliang;
links(guke,dvd):x,pianhao;
endsets
max=@sum(1inks:x/(pianhao) k);
@for(guke(i):@sum(dvd(j):x(i,j))
@for(dvd(j):@sum(guke(i):x(i,j))
@for(1inks:@bin(x));k-2;
利用@OLE命令便可以輕易的調取出需要的數據.程序如下:
zongliang=@OLE( ‘f:\B2005Table2.xls’,‘zongliang’ );
pianhao=@OLE( ‘f:\B2005Table2.xls’,‘pianhao’ );
通過上面的編譯之后很容易出結果,但是由于結果是一個1000×100的數值矩陣,因此同樣用@OLE命令,利用它將結果輸出到表格,可以更直觀的讀取。
程序語言:@OLE(‘f:\k1.xls’,‘x’)=x;
將以上四個模型的編程形式逐一講授,學生只需將它們對應的程序進行備份,當比賽中遇到同類型時調用修改就可以了。
3.2 函數對應法,邊學邊練
對模型求解的Lingo編程形式同學們已經有了了解,這時候需要進一步到細節上去,具體練習一些函數的表達式 。教練組針對數學軟件的特點,采取了上午講課,下午上機的教學方式,這樣學生在上機過程中可就上午所學知識中存在的疑問向老師提出,教師也可針對性地進行一些輔導和講授。
參考文獻
[1] 楊滌塵.數學軟件與數學建模[J].湖南人文科技學院學報,2006,(6).
[2] 常新功,郝麗霞.如何讓學生短時間內掌握Maple軟件[J].山西財經大學學報(高等教育版),2001,52(3).
[3] 周甄川.數學建模中的優秀軟件――Lingo[J].黃山學院學報,2007,9(3).
[4] 袁新生,龍門.非線性曲線擬合的三種軟件解法比較[J].徐州工程學院學報,2005,20(3).
[5] 袁新生,廖大慶.用Lingo6.0求解大型數學規劃[J].工科數學,2001,17(5).
[6] 姜英姿.大規模數據的計算機處理技術[J].徐州工程學院學報,2005,20(5).
計算機仿真主要是利用計算機技術和應用領域有關的專業技術,通過建立研究系統的數學模型,進而在計算機上對系統進行實驗分析和研究的一門技術。因此,該門課程是一門解決實際問題、實踐性強的課程。目前,大部分院校對該門課程的講授主要圍繞計算機仿真的概念、方法和技術來開展的,而在系統分析、系統建模、仿真計算、仿真結果分析等方面的講解還存在薄弱環節。從教學內容來看,主要存在重理論分析,輕仿真實驗;從教學過程來看,還存在重課堂教學,輕實踐環節的現象。為此,應加強計算機仿真技術課程實驗教學方法的研究,突出系統仿真建模分析實驗,建立仿真實驗的內容體系,強化仿真實驗過程管理,以達到提高學生在計算機仿真技術領域的運用能力。仿真實驗的內涵就是針對仿真實驗對象,建立仿真實驗模型,利用計算機技術,在計算機上開展仿真運算與結果分析的一種實踐活動。單純的課堂理論教學一般缺乏主動獲取知識的能力,缺乏對所學知識的深入思考和實際動手能力的培養,缺乏發現問題、靈活運用已有知識解決實際問題的能力。而實驗環節能在很大程度上彌補這種教學方式的不足,尤其是計算機仿真技術這門課程,具有系統針對性強與實際結合緊密的特點。因此,在計算機仿真技術課程的教學過程中,重視仿真實驗課程建設,加強學生實驗環節的教學和訓練,已經成為本門課程改革和創新的一個重要內容。
1仿真技術實驗課程的目的、分類及特點
計算機仿真實驗課是掌握計算機仿真技術和仿真技能培養的重要環節,是開展科學實驗、科學研究和工程應用領域能力培養的重要課程之一。開展計算機仿真實驗課程改革,需要從實驗內容設置、實驗教學管理、實驗課程評價等幾方面入手,以達到實驗課程提高學生實踐能力和創新能力的目標。計算機仿真技術的教學內容通常分為連續系統仿真和離散系統仿真兩個方面,因此,仿真技術實驗可分為連續系統仿真實驗和離散系統仿真實驗。另一方面,按照仿真的作用和目的來分,仿真技術實驗領域也可分為三種形式。一是系統設計仿真實驗,即對尚不存在的假象系統開展仿真實驗。通過仿真實驗,來觀察系統設計的各項性能參數。二是仿真對象的系統分析仿真實驗,即對已有系統進行仿真實驗。針對存在的已有系統,構建系統模型,通過仿真實驗以觀察和分析系統,來了解和掌握系統的變化規律。三是系統模擬訓練仿真實驗,利用現代虛擬現實技術或半實物仿真技術,構建訓練系統的操作訓練模型和模擬訓練仿真環境,為系統的操作人員提供模擬訓練的實驗平臺。根據仿真技術實驗的目的結合計算機仿真技術課程要求,仿真技術實驗課程具有以下特點:一是系統實驗對象的針對性。仿真實驗必須針對某個具體的對象或系統開展仿真實驗活動。如一個控制系統的仿真實驗,應從該系統的數學模型入手,明確數學模型中各參數的含義和參數之間的物理關系,以此開展仿真實驗才具有針對性,而不能籠統地給出一個仿真計算的式子,不加分析就開始進行仿真計算。二是仿真實驗模型的有效性。仿真實驗模型是仿真實驗系統的一種抽象,與實驗系統和內容結合緊密,學生應從掌握仿真系統原理的基礎上,建立有效的、可計算的仿真實驗模型,以便開展仿真實驗教學活動。三是仿真實驗過程的完整性。仿真實驗過程包括系統建模、仿真建模和仿真實驗等過程。從仿真實驗對象或系統入手,對仿真實驗目的,建立仿真實驗系統的數學模型,利用掌握的仿真軟件或熟知的仿真實驗環境,將數學模型轉換成仿真計算模型,開展仿真實驗,最后對仿真實驗與仿真結果進行處理分析。四是仿真實驗環境的可操作性。仿真實驗依賴于仿真環境與仿真軟件,不同的系統、不同的仿真模型,需要在不同的仿真環境下進行。仿真實驗環境與仿真軟件,有通用計算機程序設計語言,如C++、VB等;有數學計算能力較強應用軟件,如Matlab;有針對離散事件系統仿真軟件,如GPSS。還有針對不同領域的專業性仿真軟件,如流體工程仿真計算軟件Fluent,機械設計與虛擬樣機仿真軟件SolidWorks、Pro/E和UG等。因此,仿真實驗的開展應根據仿真實驗對象,仿真實驗目的和要求,選擇正確的仿真實驗環境和仿真軟件。
2仿真技術實驗課教學體系建設
仿真技術實驗課程教學改革涉及教學內容,教學體系、教學方法等多個方面。在教學內容上,應緊密配合仿真技術課堂教學要求,合理安排仿真實驗項目。如在連續系統仿真方面,應針對仿真對象的微分方程、傳遞函數、狀態空間和結構圖等不同模型開展仿真實驗,以了解不同模型表示方法的仿真技術。在仿真實驗教學體系方面,要結合相關專業對不同仿真技術的要求,有針對性地選擇仿真對象。即從建模表示、模型處理、仿真算法設計、仿真結果分析等方面,設置仿真實驗案例。在實驗教學方法方面,要加強仿真實驗前學生的實驗準備,以及熟悉仿真實驗環境、做好仿真實驗過程記錄、仿真實驗結果處理和分析等方面的工作。
2.1仿真實驗課程體系建設
計算機仿真技術屬于一門應用類型的課程,課程涉及大量的數學知識,理論性強,同時還蘊含著大量的工程性知識。因此,該門功課的建設與改革要突出工程性和應用性,要注重理論與實際的結合。作為一門實驗課程教學體系的建設,主要涉及該門課程的教學目標、教學內容、教學管理與考評、教學過程實施等多個方面。另一方面,計算機仿真實驗主要是在計算機上完成,在教學體系建設方面,還要注重學生計算機應用能力和軟件編程能力的培養。
(1)實驗課程教學目標計算機仿真技術課程的設置目的,是使學員掌握計算機仿真的有關概念、原理和方法,學會利用計算機仿真技術,針對各自研究方向與領域,培養學生開展系統分析、系統設計、系統運用的能力,以及能獨立開展實驗研究,解決科學研究和工程應用領域中出現的問題。培養學生的計算機仿真思維,提高學生使用計算機仿真理論和技術從事科學研究的能力。
(2)實驗課程教學內容計算機仿真技術課程涉及的領域較為廣泛,從仿真技術體系來看,課程內容主要包括相似理論、建模理論、建模方法、仿真算法、仿真語言、仿真工具,仿真實驗、仿真數據處理與仿真VV&A等。從仿真知識體系來看,課程除涉及大量基礎數學知識外,還涉及系統、模型與仿真的概念、方法及分類,連續系統建模與仿真方法,離散事件系統建模與仿真,分布式系統仿真、面向對象建模與仿真技術,虛擬現實技術與仿真等。這些都為如何確定仿真實驗內容提出了挑戰。為此實驗課程內容安排上,我們提出了單項仿真實驗與綜合仿真實驗的解決思路,圍繞能力培養選擇實驗課程內容。通過單項仿真實驗讓學生掌握重要的知識點,通過綜合仿真實驗讓學生掌握仿真技術的系統知識和仿真技術綜合運用能力。其中,單項實驗內容包括:系統建模實驗,仿真工具運用實驗,仿真系統運行實驗,仿真數據處理與可信度評估實驗等。綜合仿真實驗主要包括連續系統仿真實驗,離散事件系統仿真實驗,先進系統仿真實驗,虛擬現實仿真實驗等。
(3)實驗組織實施與管理仿真實驗教學過程的組織實施與管理,既要遵循實驗課程教學規律,又要突出實驗課實踐能力和創新能力的培養。在給學生講解熟悉實驗環境、理解仿真對象和仿真目標的基礎上,讓學生參與實驗前準備工作,參與實驗方案與計劃的制定。根據仿真實驗特點,由學生獨立或與實驗小組完成整個仿真實驗過程,重視實驗過程中出現問題的分析與解釋。讓學生在完成實驗的同時,還要對實驗過程進行總結,提交仿真實驗后的體會等。在實驗安排方面,加強與相關課程內容的同步結合。在實驗學時方面,突出課堂實驗與課后拓展實驗相結合,即單項仿真實驗可在較短的時間內完成,主要安排在教學課程的學時內。對綜合性仿真實驗采用開放式實驗,在制定完實驗方案和計劃后,可讓學生靈活安排時間去完成實驗。在實驗課程的考核管理是實驗過程也是教學過程的重要一環,應加強實驗課程的過程考核,通過考核方式的改革,督促學生自覺開展實驗活動,達到開設仿真實驗課的目的。考核成績可以按學生的仿真實驗準備情況,實驗完成質量,實驗過程表現與實驗報告質量等內容進行綜合評定。
2.2實驗課教學方法改革
實驗教學既是教學活動,又是實踐活動。要突出學生的能力培養,也要突出思維能力和科學精神的培養。實驗課教學可以采用任務驅動、過程開發的教學模式進行,即在明確仿真實驗任務的基礎上,由學生自己制定仿真實驗任務的計劃和方法,編寫如何做好仿真實驗的準備工作條目,提出每項仿真實驗的思路和注意事項,并將這些內容作為仿真實驗課成績的一部分。在這種教學模式下,還要注重以下三方面的工作。
(1)重視仿真實驗準備工作仿真實驗準備工作是開展仿真實驗的前提。仿真實驗準備工作包括仿真實驗對象的認識和理解,仿真實驗目的,制定實驗工作步驟以及熟悉仿真實驗環境、仿真語言和仿真工具等。要針對仿真實驗的對象或系統,讓學生查閱相關資料,了解對象和系統的特性,為下一步模型的建立奠定基礎,同時,作好仿真實驗前的數據收集與準備工作。
(2)強化仿真實驗建模分析模型是研究對象或系統的抽象,也是仿真實驗的基礎。仿真模型的建立是按照一定的目的對所要研究的對象或系統進行抽象的過程。沒有正確抽象和描述的仿真模型,就無法開展正確的仿真實驗。對于連續系統或離散事件系統仿真建模來說,通常需要根據對象的物理特性,變量特征和仿真實驗的目的等開展系統實驗建模分析。模型分析主要包括模型的使用對象,模型假設條件,模型內部要素的作用機理,模型簡化,模型的表示方式,以及輸出結果形式等。建模分析不僅能鍛煉和提高學生面向問題的解決能力,同時還可以培養學生邏輯推理能力和科學的思維方式。
(3)突出仿真實驗技術應用仿真實驗技術主要包括仿真實驗設計,仿真算法設計,仿真實驗數據處理與分析等。這些仿真技術的應用對提高學生的創新能力、實踐能力和探索熱情有著重要作用。仿真實驗設計主要是制定仿真實驗方案,包括編寫實驗目的,實驗步驟,實驗初始條件設定等。仿真實驗算法設計是一項具有挑戰性和創新性的工作,在這一方面要充分讓學生去閱讀相關文獻,為仿真實驗設計高效、正確的仿真算法。同時,在算法設計時還要考慮到仿真實驗環境,仿真實驗環境包括仿真所用的軟件和硬件等。在此教師主要給學生以引導和提示,讓學生熟悉相關的實驗環境,摸索和掌握各種實驗工具的應用。在此基礎上,再讓學生編寫仿真實驗程序、設計計算步長等相關仿真計算工作。仿真實驗數據處理與分析是仿真實驗的重要組成部分,讓學生掌握常用的數理統計的方法進行實驗數據處理與分析。同時,還要通過仿真實驗,教會學生對仿真對象變化規律如何做出合理的估計和判斷的方法,以達到實驗的目的。
3仿真技術實驗課教學案例
以連續系統仿真為例,對起重機吊運系統特性開展研究。利用起重機吊運系統仿真實驗,進一步闡明仿真技術實驗課程教學方法的運用。
3.1仿真實驗前準備
在實驗準備階段,首先要認識仿真對象,弄清仿真對象的系統組成,即系統是有哪些實體對象構成的,系統中各個實體的參數屬性,系統內部實體之間的作用機制等。在本案例中系統由起重機小車、鋼絲繩和吊運的貨物構成。其次,是要明確仿真實驗的目的,即起重機小車的移動速度、吊繩長度和貨物質量等相關參數,對吊運時貨物擺角的影響。三是系統抽象,對系統中無關的因素進行簡化,如忽略吊運時吊繩長度變化、風速和前后搖擺等影響,以降低系統建模的復雜性。四是收集實驗所需數據,為系統建模做好準備,如貨物的質量、吊繩長度等。
3.2實驗模型建立
根據上述準備工作,利用運動學和動力學的相關知識,結合仿真目的建立仿真實驗對象的數學模型。在建立模型時,首先考慮模型的初始狀態,給出了初始條件下的參數和方程。其次,考慮貨物吊運時的擺動,即在某一擺角下的系統狀態,以此建立該狀態下貨物吊運擺動角度與貨物質量、吊繩長度和吊運速度之間的計算關系。這樣就為下一步的計算機的仿真計算奠定了基礎。建立的起重機吊運貨物時的數學模型。
3.3仿真實驗
根據上述的實驗模型,開展仿真計算。仿真計算可以采用通用程序設計語言,如C語言,也可采用數值計算和科學分析軟件Matlab來完成。對于Matlab軟件來說,即可采用M文件編程方式,也可利用SimLink方式進行交互式仿真。因此,在這一階段要鼓勵學生積極動手,獨立思維,利用不同狀態下的參數計算開展系統的仿真實驗。
3.4仿真實驗結果分析
仿真實驗結果分析就是對仿真實驗計算的數據進行綜合分析,獲取系統的相關信息和實驗結論,達到仿真實驗分析的目的。在計算結果分析時,要讓學生觀察多組輸入輸出數據對系統的影響,來進一步認識系統。如在吊運過程中,通過修改吊運貨物的質量,吊繩的長度和水平運行速度,來計算和觀察吊運擺角的變化,以此來達到認識起重機吊運系統的性能和變化規律。
4結束語
關鍵詞:數學建模;數學實驗;創新能力;教學形式;教學內容
中圖分類號:G642.0 文獻標志碼:A 文章編號:1674-9324(2012)03-0033-02
一、數學建模的起源和發展現狀
數學建模的教學嘗試,始于20世紀70年代末,其教學理念是將數學與工程技術、管理科學、計算機科學緊密聯系在一起,培養學生運用數學思維和方法解決實際問題的能力。數學建模課程的開設改變了傳統的知識灌輸型數學教育方式。數學實驗是計算機技術和數學軟件引入教學后出現的新生事物,是數學教學體系、內容和方法改革的一項創造性的嘗試。數學實驗概括地講包含兩部分內容,即“數學的實驗”和“數學應用的實驗”。“數學的實驗”是用計算機及有關的工具軟件解決數學問題;“數學應用的實驗”是用計算機、工具軟件及數學知識和方法求解其它學科領域的實際問題。上世紀六、七十年代,美、英等國家的一些學校開設了一門稱為數學建模的課程,著重講授一些把實際問題歸納為數學模型的方法,以培養建模能力。1986年開始的美國大學生數學建模競賽推動了數學建模課程的普及。數學建模課程越來越受到重視,現在每兩年召開一次數學建模教學國際會議,研究數學建模課程和數學建模教學[1]。20世紀80年代初,數學建模作為一門嶄新的課程進入我國高校,蕭樹鐵先生1983年在清華大學首次為本科生講授數學模型課程。1987年由姜啟源教授編寫了我國第一本數學建模教材。數學建模課程早期教學活動的成功使我們認識到高等教育除了傳授知識以外,還應注重對學生綜合素質的培養,尤其應當創造一定的機會和環境讓學生們去運用書本知識,在運用過程中開拓他們的進取精神、創新精神和競爭意識。在國家教育部關于《高等教育面向21世紀教學內容和課程體系改革》計劃中,已把“數學實驗”列為高校非數學類專業的數學基礎課之一。1991年中國開始了由教育部高教司和中國工業與應用數學學會聯辦的每年一屆的全國大學生數學建模競賽。受這一競賽的影響,從1993年至今,數學建模教學在全國各高校迅速發展起來,目前幾乎所有的高校都開設這門課程或相似名稱的課程,出版的教材也有幾十種。
二、當前數學建模和數學實驗課程的特點及不足
隨著高教社杯全國大學生數學建模競賽的不斷開展,各高校也越來越重視數學建模和數學實驗課程的教學工作,并通過圍繞該賽事組織本校的預賽等工作,大力推廣數學建模的參與面。分析歷年來全國大學生數學建模競賽賽題,可以發現近年的賽題有如下一些特點:題目的難度較高,對數學知識的要求超出一般工科學生本科階段講授的高等數學、線性代數和概率統計這三門課的要求;問題越來越接近解決生活中遇到的實際問題,題目應用性很強;題目中常常會出現大批量的數據,這些數據的處理和合理應用直接影響題目的求解;題目經常是命題專家的課題的一部分或簡化,要求有一定的專業背景知識;解決問題的手段與計算機的聯系也越來越密切,數學軟件的使用趨于普遍,對學生的計算機能力要求越來越高;問題的綜合性要求較高,對學生的數學應用能力和創新能力也要求更高。目前已有的數學建模和數學實驗的的教學工作,主要是針對典型的教學案例,講授如何建立適當的數學模型的理論知識,以及解決問題和分析問題的過程。教學中,教師還是以電子課件的課堂講授為主,學生的實驗活動主要是在課外完成,練習作業也基本以較為簡單的題目為主,學生難以獲得參加系統的、全面的訓練。因此,數學建模與數學實驗課程傳統的教學內容、教學手段、教學方法與近年數學建模競賽和學生對競賽輔導的要求的距離較大。學生在面對大學生數學建模競賽的真題面前,普遍感覺題目較難,難以下手;很多學生在建模的過程中有一些好的想法,但是由于數學軟件基礎較弱,難以實現自己的算法。
三、多形式的開展數學建模與數學實驗課程的教學
基于上面在數學建模和數學實驗教學遇到的問題,可以從下面兩點來考慮。
1.教學形式多樣化。數學建模和數學實驗的教學和實踐活動已在高校普遍開展起來,成為本科教學中的亮點,在加強素質教育、培養高素質開拓型人才和應用型人才方面發揮了其他課程無法取代的獨特作用[2]。數學建模和數學實驗的教學形式也應多樣化,可通過多種途徑開展。①李大潛院士強調要將數學建模的思想融入數學類主干課程[3]?!陡叩葦祵W》等數學主干課程的教學中,要融入數學建模和數學實驗的內容,增加一些簡單建模的例題,強調運用數學知識解決實際問題的教學。②舉辦數學建模系列講座,對更多的學生進行數學建模啟蒙教育,宣傳數學建模的基本思想,激發了同學們對數學建模的興趣。③開設《數學實驗》和《數學建?!饭策x修課,系統介紹數學建模的基本內容和數學軟件的功能,培養學生的數學建模能力。④組織開展校內數學建模競賽,選拔學生參加全國大學生數學建模競賽,我校數學建模成績在上海市名列前茅。⑤從數學建模和數學實驗出發,為學生開設創新實驗,鼓勵學生申請數學建模的大學生創新項目,培養優秀學生的數學建模的素養和能力。
2.教學內容多樣化。①數學主干課程中,可結合課程的特點穿插具有建模思想的例題。例如高等數學微分方程一章中,增加了對汽車碰撞模型的介紹。這類教學,主要是讓學生了解和體會數學建模的基本思想和基本概念,激發學生應用數學知識解決問題的興趣。
②數學建模講座可以選取某種模型,使學生全面理解模型的適用范圍、典型特征、建模及求解過程。通過對該模型比較深入的理解,能了解數學建模的全過程,能舉一反三。③數學建模和數學實驗的選修課可以比較系統的講授常用的數學模型的基本知識,介紹一種數學軟件的使用。通過該課程的學習,使學生能比較系統的了解數學建模的基本過程,掌握數學建模的基本技能,能運用數學模型解決較為簡單的實際問題。④創新實驗和大學生創新活動,針對的應該是具有較扎實基礎和主動性的學生。除了介紹數學建模的基本知識和基本方法外,可以選取近年來的數學建模真題或者和學生的專業緊密結合的課題作為研究內容。不強調教學內容的多少,更注重于在教學過程中培養學生的分析問題和解決問題的綜合能力。在這個過程中,可以同時結合計算機等手段,培養學生獨立完成從建立數學模型、模型的求解、模型理論解釋、計算結果分析等完整的解決問題的過程。正如數學建模競賽的口號“一次參賽,終生受益”所說的,給學生一次完整的參與,會對學生能力的提高起到更好的效果,這種訓練是課本知識的講授難以代替的。
參考文獻:
[1]譚永基.對數學建模和數學實驗課程的幾點看法.大學數學,2010,26(10).
【關鍵詞】負荷建模;靜態負荷模型;參數辨識;遺傳進化算法;最小二乘法
0.引言
在對最小二乘法的辨識過程進行初步研究的基礎上,指出其存在的不足,針對這一問題,采用了一種用于電力系統負荷建模和參數辨識的遺傳進化算法 ,該方法具有全局搜索優化特點 ,適用于非線性、不連續或微分不連續的各種負荷模型。
1.最小二乘法
最小二乘法大約是1795年高斯在星體運動軌道預報工作中提出的。后來,最小二乘法就成了估計理論的奠基石,由于最小二乘法結構簡單,編制程序也不困難,所以它頗受人們重視,應用相當廣泛。最小二乘法是一種數學優化技術,它通過最小化誤差的平方和找到一組數據的最佳函數匹配。是用最簡單的方法求得一些絕對不可知的真值,而令誤差方法之和為最小,通常用于曲線擬合。
1.1冪函數模型
其形式為P=a■V■Q=a■V■ (1-1)
其中,P,Q,V均為額定運行參數的標么值。
1.2辨識準則及目標函數
將式1.1兩邊取對數,轉化成線性形式,即
lnP=lna■+b■lnVlnQ=lna■+b■lnV (1-2)
冪函數模型構造的目標函數如下:
minJ■(p■,α)=■[■(V■)-■m(V■)]■ minJ■(Q■,β)=■[■(V■)-■m(V■)]■ (1-3)
其中N為每一負荷記錄的數據長度?!?,■是與系統有功和無功的模型響應。
p■Q■為V=V■時的有功和無功實測響應,待辨識的參數為a■,a■,b■,b■。
2.應用實例
2.1實驗數據來源
實驗數據取自2008年12月19日-20日由某變電站對110kV變電站35kV側進行的負荷特性的穩態實驗。該次實驗分別在早高峰,晚高峰及深夜低谷時進行測試,并記錄下主變壓器35kV側的電壓、有功功率及無功功率。
2.2數據處理
在進行負荷靜態模型參數估計之前,需將各測量值除以額定值化成標么值。如表2-1所示,為某變電站35KV側的負荷特性實測數據(表中數據為有名值)
表2-1 12月19日晚高峰20日早高峰1#35kv側主變壓器
2.3模型參數結果
將表2-1中的測量數據化為標么值,運用前面所述的參數辨識方法,即可分別得到各個測試點的冪函數模型。計算結果列于表2-2
表2-2變電站35KV綜合負荷的數學模型計算結果
2.4有功和無功偏差結果
將實測電壓代入個模型,計算得到有功功率及無功功率,并與實測有功功率及無功功率進行比較。下面列出12月19日晚高峰時,12月20日早高峰時1#主變壓器35KV側負荷特性部分結果。其中測試的計算值和實測值如表2-3和2-4所示,模型有功功率和無功功率的計算值與實測值的偏差如表2-5和2-6所示。
表2-3 12月19日晚高峰1#主變壓器35KV側負荷
基準值PB=5.951MW QB=2.203MVA VB=35KV
表2-4 12月20日早高峰1#主變壓器35KV側負荷
基準值 PB=7.95MW QB=3.8MVA UB=35KV
2.5結果分析及討論
(1)比較表2-3、2-4中的數據可知,當電壓變化時,對負荷無功功率的影響很大,而對有功功率的影響相對較小。
(2)當電壓變化范圍較小時,模型的計算值與實測值都比較接近。
(3)該次實驗所需負荷特性數據是在人為干擾下對負荷點進行調壓使之不超過額定值的正負10%的范圍而獲取的。這是通過進行穩態實驗傳統靜態模型模擬負荷特性的一個最基本的條件。在這個條件下進行實驗時,模型的擬合精度相對較高。
3.遺傳進化算法
遺傳進化算法的應用研究己經從早期的組合優化問題擴展到現在廣泛應用于神經網絡、機器學習、智能控制、非線性優化、系統辨識、信號處理及故障診斷等問題,尤其是遺傳進化算法在許多工程實際中的成功應用,更引起了專家學者的極大的研究興趣。
3.1遺傳進化算法的定義
遺傳算法是目前用于動態負荷模型參數辨識較為成功的方法。根據模式定理:在選擇、交叉和變異的作用下,具有低階、短定義距以及平均適應度高于群體平均適應度的模式在后代中將以指數級增長。所以,遺傳算法具有良好的全局收斂性能。本文的模型參數辨識采用的就是這一算法,下面詳細介紹一下。
遺傳算法是仿照生物界的遺傳進化過程提出的一種優化算法。與傳統搜索算法不同,遺傳算法從一組隨機產生的初始解,稱為群體,開始搜索過程。群體中的每個個體是問題的一個解,稱為染色體。這些染色體在后續迭代中不斷進化,稱為遺傳。遺傳算法主要通過交叉,變異,選擇運算實現。交叉和變異運算生成下一代染色體,稱為后代。染色體的好壞由適應度來衡量。根據適應度的大小從上一代和后代中選擇一定數量的個體,作為下一代群體,再繼續進化。這樣經過若干代之后,算法收斂于最好的染色體,它很可能就是問題的次優解或最優解。遺傳算法中使用適應度這個概念來度量群體中的各個個體在優化計算中有可能達到最優解的優良程度。因此,作為模擬生物進化過程的遺傳算法,在解一個問題時應包括以下5 個要素:
(1)問題可能解的遺傳表示(可能解表示為字符串,作為染色體)。
(2)建立可能解的初始群體(種群)。
(3)評價函數,用以評價每個染色體所代表個體的優劣。
(4)遺傳操作(選擇、復制、交叉、變異)用以改變后代染色體的結構。
(5)遺傳算法中的各種參數。
3.2遺傳進化算法的基本計算
遺傳進化算法的基本計算包括三個過程:選擇、交叉和變異。
3.2.1選擇
遺傳算法通過選擇運算來實現對群體中個體進行優勝劣汰操作。選擇的目的是為了從當前群體中選出優良個體,使它們有機會作為父代產生后代個體,選擇過程按照當前解群中每個個體的適應函數值,用隨機的方式選出一定數目的個體,用于繁殖下一代。適配值較大的個體在選擇中獲得較多的機會進行繁殖,反則反之。
3.2.2交叉
所謂交叉運算,是相互配對的兩個染色體按照某種方式交換其部分基因,從而形成兩個新的個體。交叉運算是遺傳算法區別于其它進化算法的重要特征,它在遺傳算法中起主要作用,是形成新個體的主要方法。
3.2.3變異
變異是按照一定的變異概率,隨機選定一個個體并隨機確定某個基因位置,進行基因翻轉,實現變異。遺傳算法中,選擇算子提供了算法向最優解收斂的保證,交叉算子保證了遺傳算法的全局搜索能力,變異算子作為輔助算子,可以在當群體在進化中陷于搜索空間中某個超平面而僅靠交叉不能擺脫時,通過變異可以跳出該超平面。這里,針對要解決的問題的特征,對標準遺傳算法進行了一定的改進:
3.3靜態負荷算例
令種群規模 n=50,每個個體面對競爭個數為m=30,每代保留10%的精華,即 E=n.10%=5個。變異量參數 Z=0.001,比例因子β=e■,其中n■為迭代步數。解向量變化范圍如表3-1:
表3-1
該變化范圍僅在隨機產生初始解群時使用,種群進化演變過程中并未對各個體進行范圍檢驗,因為實際上那些不合理的解相應的誤差值很大,很快就會被淘汰掉。算例:某工業負荷實測數據,辨識分別對P,Q進行辨識,100代后結果如下(見表 3-2)。
靜態負荷模型為:
P=0.454084U1.405,Q=0.179435U3.206.
P0,a1,Q0,b1每次辨識結果都非常接近,辨識重復多次均很快能收斂到某一個結果附近,由于現場試驗未慮及頻率變化,實際測得的數據中所包含關于頻率的信息過于的少,遠遠在噪聲和測量誤差之下,因此與頻率f有關的參數a2,b2每次結果都相去甚遠,所以辨識時不考慮頻率特性,即令a2,b2均為 0。有功和無功擬合曲線與實測曲線的比較見圖3.1.
圖 3.1 靜態負荷模型有功、無功擬合與實測曲線比較
表3-2 有功、無功功率的電壓特性
3.4小結
(1)辨識結果是令人滿意的。從圖3.1和表3.2可以看出遺傳進化算法的結果比最小二乘法給出的結果更優。改變模型階次,或者由線性模型變為非線性模型,算法表現出很好的穩健性。而最小二乘法等傳統方法因模型階次提高或引入非線性因素使結果變得惡化。
(2)初始解群可以通過隨機的辦法產生,亦可結合對于待解問題的某些已知信息來獲得。遺傳進化算法原則上可允許初始解范圍沒有限制而搜尋到最優解。本算例是利用負荷的已有的知識和經驗使與最優解比較接近,并給出了大于最優解 20倍的范圍,仍獲得了理想的解。
(3)遺傳進化算法的缺點在于計算量較大,但其內在的并行能力在一定程度上彌補了這一點。更重要的是它能夠在許多別的現行算法一籌莫展的問題上發揮作用。
4.總結
負荷具有時變性及隨機性、分布特性、復雜性以及多樣性等特征,這些特性決定了負荷特性的難以理解與把握,造成了負荷建模的困難性。近幾年遺傳算法在電力系統領域得到了廣泛應用。并且在解決許多具體問題的過程中提出了各種改進的遺傳進化算法,取得了令人滿意的效果。本文研究了一種用于電力系統靜態負荷建模和參數辨識的遺傳進化算法,該方法具有全局搜索優化等特點,適用于非線性、不連續或微分不連續的各種負荷模型。并將其成功應用于基于負荷實測數據的靜態負荷建模,雖然遺傳算法具有許多其它搜索方法所缺乏的獨特優點,但是尚存在一些需要深入研究和有待完善的一些課題。遺傳進化算法在理論方面的研究尚處于初級階段,還有待于完善和提高。此外對于遺傳進化算法的一些參數的選取,如種群大小、交叉和變異的概率,編碼方式及選擇方式等還需要深入研究。
【參考文獻】
[1]張紅斌,李黎,賀仁睦.動靜態負荷模型在電網暫態穩定計算中的應用[J].電力自動化設備,2009,N0.6;49-53.
[2]張琦,韓禎祥等.進化規劃方法在電力系統靜態負荷模型參數辨識中的應用[J],2007,21:9-12.
[3]唐巍,郭鎮明,李殿璞.混沌優化用于電力系統靜態負荷模型參數辨識[J].電力系統自動化,2009,19,8-11.
[4]賀仁睦.電力系統精確仿真與負荷模型實用化[J].電力系統自動化,2004,28(16):4-7.
如今,3G 無線網絡和手持終端設備已經開始大規模部署,下一代無線通信協議標準,俗稱4G,也已經基本制定完成。3GPP 的長期演進(LTE) 被大多數國家接受為4G 標準。LTE 的支持者宣稱只需對現有的網絡基礎設施更新部分關鍵部件就可以完成升級,因此LTE 得到了業界的廣泛認同。2008 年12 月11 日,3GPP 批準并凍結了LTE Release 8,這一里程碑式的事件開啟了研發兼容新協議的產品的大幕。移動WiMAX(802.16) 作為4G 的另一個候選方案,與LTE 在物理層應用上有許多相同的概念,只是實現細節上存在不同。這也為開發同時支持WiMAX 和LTE 方案的產品提供了可能。在物理層設計上,LTE 和WiMAX 的復雜度相差不多。對LTE 的研究為我們重提調制解調算法設計和驗證過程的重要性提供了機會。在算法設計階段犯下的錯誤很難在硬件設計或者嵌入式軟件開發階段彌補回來。對算法的驗證是為了檢測設計能否滿足協議標準的要求。例如,需要檢測不同信道環境下的最大誤包率。協議標準的很大一部分內容都被用來定義測試環境。當選擇某種工具或者方法來進行有效的算法設計時,工程設計者需要從整個設計流程的角度來考慮算法復雜度的要求。針對一些簡單設計的解決方案對更大更復雜的系統來說可能完全不適用。而如果每一個項目都采用獨特的工具和方法,項目的維護就會成為噩夢。一些表面上看成本很小的解決方案,后續可能需要購買其他昂貴的工具。而如果工具某些基礎功能缺失,也會耗費工程師更多的時間和精力。本文主要探討從3G 轉向4G 的物理層設計過程中的仿真工具效率問題。這些關于效率的準則也可以用于其他信號處理領域。
2LTE 和WiMAX:物理層關鍵技術
LTE 和WiMAX 都是基于正交頻分復用(OFDM) 的多載波調制方案,通過多輸入輸出天線(MIMO) 進行信號傳輸。這與3G基于碼分復用(CDMA) 的概念有很大不同。3G 與4G 系統的物理層基帶處理算法有著本質區別。
物理層概念的不同直接導致了仿真復雜度的增加。相比3G而言,4G系統的物理層仿真復雜度大概有100倍的增長。部分原因在于4G系統中,每個數據采樣點都需要更多的操作:更復雜的編碼/解碼算法,需要同時在平行的多個信道上傳輸,采用了更復雜的信道均衡技術。針對不同頻帶上的不同信道模型,還有多輸入多輸出(MIMO)的不同配置(見圖1),需要增加大量的測試方案。在此基礎上,還需要考慮不同量化精度對系統性能的影響。因此算法的驗證工作越來越艱巨也就不足為奇了。
下文的例子都會以LTE為基礎。所有的結論也適用于WiMAX和其他需要大規模仿真的信號處理系統。
3設計和驗證流程
制定一個新的通信協議標準的目的,是以最小的成本實現用戶和網絡運營商對高速信號傳輸的要求,同時也要符合市場化的預期。一個LTE調制解調系統往往同時包含了ASIC和DSP或者微控制器,整個工程需要實現復雜的硬件設計和軟件算法。因此,制定一個覆蓋算法設計、軟硬件實現、以及系統驗證的高效流程顯得尤為重要。
算法設計的初始階段,一般都需要首先為算法創建一個浮點模型。一旦這個浮點模型驗證通過,下一步就會開始對算法的定點轉換,最后再移植到硬件及軟件平臺上進行驗證。
3.1 算法的浮點模型
在設計目標確定以后,系統工程師就需要針對幾種備選算法進行測試和優化,然后在蒙特卡洛仿真結果的基礎上確定最優的算法。圖2給出了以誤比特率(BER)或者誤塊率(BLER)為指標,進行性能仿真的蒙特卡洛仿真平臺框圖(蒙特卡洛仿真是指激勵信號由隨機或者偽隨機數據源產生的一類仿真)。此時仿真模型并不需要考慮最后的實現細節,所有的算法都可以用浮點模型來表示。
建模效率是反映創建仿真平臺難易程度的一個概念。決定建模效率的一個關鍵因素就是可重用的模型數量。這些可重用的模型可能來自廠商提供的庫,也可能是從以前的項目繼承得來(也稱為重用效率)。當然并不是所有的模型都能從庫里面找到,有些模型也需要用戶自己開發。開發的模式有多種,比如可以由一些基本的模型組合成一個復雜的模型(分層設計),或者從零開始,根據新的功能需求創建新的模型。
仿真時還需要考慮的一個因素是仿真效率。以前面提到的LTE和WiMAX為例,由于涉及到許多設計參數,因此為了得到最優的算法,就需要仿真大量的參數組合。仿真效率成為制約整個過程的關鍵。
3.2 從浮點算法到定點算法的轉換
考慮到成本的因素,算法的主要部分最后都需要以定點而不是浮點來實現,除非選擇浮點DSP。因此,當算法從設計到應用的轉換過程中,需要分析量化精度的影響。字長的選擇直接關系到實現的性能,字長太短會使系統質量有很大損失。算法本身可能很好理解,但是量化噪聲對算法的影響可能很難評估,因此需要小心對待。
一般來說,對算法進行定點轉換是一個遞歸的過程。首先需要創建一個浮點模型,然后將變量逐個進行轉換。每個變量定點化后,都需要將仿真結果與浮點模型進行比較。仿真工具應該僅僅通過修改模型參數就實現這一過程,而不需要每次都重寫模型。另外,工具對常用的定點數據類型的支持也很重要。因為如果僅僅依靠以整型位移來實現定點,調試的時候會非常麻煩。仿真工具的選擇應該在項目的初期就考慮好。如果在項目開始幾個月后才意識到問題,此時要更換工具幾乎是不可能的。
人們往往會低估定點化過程需要的時間。定點轉換其實非常繁瑣,花費的時間可能并不比算法設計來得短。因此選擇合適的仿真工具顯得尤其重要。
3.3 軟硬件實現和驗證
當算法的定點轉換完成以后,定點模型就是系統實現的參考模型,因為它定義了系統的算法性能。一般來說,從算法模型到硬件實現的過程會出現很多錯誤。這是因為算法開發和硬件實現所遵循的設計原則是不同的,使用的工具也做不到緊密結合。算法工程師往往需要給硬件工程師提供激勵信號,作為HDL仿真的輸入,然后將HDL仿真的結果與算法仿真做比較。這種方法實現起來會有許多困難:
針對每一組參數配置和測試方案都會有一個仿真結果,為了比較所有的這些參數組合,需要保存大量的激勵信號和參考結果文件,既費時又費力
每一個新創建的HDL測試案例都需要算法工程師和硬件工程師一起進行驗證,工作量很大
當HDL仿真和參考仿真結果不同時,很難確定錯誤發生的位置和原因
這種方法已經逐漸被淘汰?,F在流行的方法是不同部門之間通過一個可執行平臺來傳遞設計定義。算法部門、RTL硬件部門、以及采用虛擬平臺做軟件開發的部門可以共享一個仿真平臺。算法部門創建的浮點或定點模型作為一個可執行的參考模型文件,可以直接用到HDL代碼和軟件驗證中去。
實現這種設計共享存在兩種途徑。第一,在算法設計工具中直接導入RTL代碼,實現RTL和算法模型的聯合仿真。第二,由算法設計工具導出算法模型,以標準庫的形式集成到硬件驗證工具中去。硬件驗證工程師往往更愿意采用熟悉的工作環境,所以第二種途徑更為常用。SystemC是大多數HDL仿真工具都能識別的一種標準接口,因此算法設計工具導出的模型一般會采用SystemC的格式。這些SystemC模型也可以直接在虛擬平臺中表示一個硬件模型或者激勵信號源,對開發的軟件進行驗證。SystemC模型是在軟硬件開發中實現算法模型重用的關鍵。
圖3給出了利用算法設計工具導出的模型來驗證接收機實現模塊的一個例子。信號源與傳輸信道模型封裝了SystemC接口,產生的激勵信號作為定點算法參考模型和實現模型(也采用SystemC封裝)的輸入。
4算法設計效率
上述的例子表明,從算法設計的角度來看,工具效率是由多個方面組成的。從算法構思到最后的軟硬件實現,效率的提升需要工具的各個方面緊密結合,共同完成。
效率包括多個方面:
建模效率
仿真效率
重用效率
驗證效率
在設計的開始階段,選擇工具時常犯的錯誤是只注重某一個方面的影響,而忽視了其他。這并不奇怪。首先,面對復雜的應用環境,傳統的思維方式往往只考慮設計環節,即創建浮點模型。其次,項目的壓力使得人們急于看到成果,迫使工程師們追求盡快獲得一個初步的模型。這些因素導致了大家更傾向于選擇浮點優化能力強的工具,因為只有這樣才能更快的完成一個設計雛形。而當項目逐漸深入,實現變得越來越重要的時候,這種工具選擇的短視才會顯現出來。
4.1 建模效率
建模效率是反映創建模型難易程度的一個概念,這其中既包含了創建浮點算法模型,也包含從浮點到定點的轉換。算法的最初形式是一些數學表達式,把這些抽象的表達式轉換成仿真模型的過程應該是越簡單越好。利用標準接口以及遵循一定的代碼規則可以提高模型的互操作性。如果工具有好的調試和分析能力,也能改善建模的效率。
建模效率是衡量浮點到定點轉換過程的一個關鍵因素。浮點到定點的轉換要求盡可能的保留設計的關鍵部分,不對代碼做大的改動。因此,工具需要支持一些特殊的數據類型、常用運算符、模板、以及運算符重載等。
4.2 仿真效率
工具的仿真效率主要體現在仿真速度上。仿真平臺的運行速度對項目周期的每一個階段都有很大影響。比如在算法設計階段,需要反復測試算法的有效性,而在定點轉換過程中,需要不斷調整量化字長。這些都需要很高的仿真速度支持,否則整個項目周期會拉長。
在諸如LTE之類的通信系統接收機設計中,利用接收機算法模型得到衰落信道下的一個誤比特率值可能需要好幾個小時,有時甚至是幾天的仿真時間。而不同的仿真工具之間也可能存在100x的速度差異。如今,通信標準越來越多的采用復雜算法模塊,比如多天線發送接收,turbo編解碼等等,需要做的一致性測試也大量增加。為了避免項目延遲,保證設計符合預期,我們應該在設計和驗證的每一個階段都仔細考慮工具的仿真效率問題。
仿真效率的提高還體現在工具的批處理能力和平行仿真能力上。雖然工具仿真效率的重要性不言而喻,但是由于在設計開始階段往往只有一些簡單的測試案例,工具效率的差別無法充分體現,從而導致選擇工具時不夠慎重。隨著項目深入,設計越來越復雜,效率的瓶頸會變得日益明顯。所以我們需要在一開始就仔細考慮仿真效率的問題。
4.3 重用效率
在通信系統的開發過程中,我們可以重用一些以前的設計。這些設計可能來自其他設計部門。為了能有效的將它們整合到現有的系統中,工具需要提供版本控制、標準接口、以及自動管理設計文檔的特性。
4.4 驗證效率
從算法設計的角度來講,驗證效率是指算法模型能否直接集成進軟硬件架構的驗證流程中。理想情況下,算法設計工具應該是從系統到芯片的驗證流程中的一個組成部分。這要求設計工具能將算法模型導出為SystemC模型,在HDL仿真器和虛擬平臺中重用。
5仿真技術
如今市面上存在很多設計工具,但是所使用的仿真技術可以歸為以下三類:
時間驅動的仿真
事件驅動的仿真
數據流驅動的仿真
這些仿真技術的主要差別在于頂層模塊是如何調用子模塊與子函數的。在數字通信和信號處理系統中,不同的仿真技術將導致仿真速度的巨大差異。
在數字通信和信號處理系統中,信號可以分為數據信號和控制信號,也稱為數據流和控制流。
數字通信接收機利用數據信號來檢測和解調發送的符號。這些數據信號承載著有用信息,數值在每個采樣時間點是變化的。數據信號既可以用無限精度(實數)的離散時間信號來表示,也可以看作有限精度的數字信號。任何一種表示方法都可以附帶離散時間索引作為參量。這個參量也可以忽略,因為它僅僅表示信號在時間軸上的位置關系。位置關系要么是已知的,要么可以隨時重建。因此離散時間數據信號可以看作是由采樣點組成的數據流。
控制信號則是一些邏輯值或者標志,用來對通信或者信號處理系統中的數據鏈路進行控制和配置。例如,控制信號可以指示信道解碼器采用什么樣的碼表??刂菩盘柕闹狄话愫苌俑淖儭R虼丝刂菩盘柨梢钥醋魇堑退贁祿骰蛘唠x散的事件。在算法設計的開始階段,控制信號可以首先以參數的形式存在。在后續過程中,比如架構設計階段,再重新以信號的形式建模(參看圖5的例子)。
數據流和控制流在系統的設計驗證中發揮了重要作用,系統設計工具需要提供對其建模的要求。下文將對三種建模技術做一個比較。
5.1 時間驅動的仿真
固定步長的時間驅動仿真技術最簡單。全局仿真時鐘在固定的時間間隔更新,仿真器跟蹤全局時鐘,在每一次時鐘更新后調用模塊,讀取輸入,更新內部狀態,計算輸出信號。這種方法對所有的模塊使用了相同的采樣速率。然而,即使在同一個通信系統中,不同信號的帶寬也有可能是不同的,擴頻系統就是一個例子。此時仿真器需要對低速信號做過采樣,這將帶來極大的開銷,仿真效率也很低。所以固定采用率的仿真方法不適合對通信系統的仿真。
也有一些改進的措施,比如可以對每個模塊都標注采樣時間,當全局仿真時鐘等于采樣時間的某個倍數時,才調用該模塊。但是這種方法存在很大的局限性,例如當模塊的幾個輸入或者輸出信號采樣時間不一致時,就無法實現。因此,利用該方法不能建模既有數據輸入又有控制輸入的模型。
其他的改進方法包括以幀為單位來處理信號,這也稱為向量化的處理,就是將順序的采樣值用向量來表示。但是這種方法提高了對內存的要求,也不能用于反饋環路。向量化操作是導致仿真死鎖的主要原因,而且一旦發生很難定位錯誤??傊?時間驅動的仿真方法通常很慢,對通信系統中的數據流和控制流建模效率不高。
5.2 事件驅動的仿真
事件驅動的仿真是指調度算法根據事件序列的發生順序來指示狀態更新的一種仿真技術。當事件發生時,只有那些與事件相關的模塊會被調用。對一個事件的處理可能會觸發其他的事件,因此事件序列在仿真過程中需要不斷調整。當事件的發生在時間軸上分布不均勻時,比如像網絡之類的異步系統或者邏輯系統,事件驅動的仿真效率優勢才能體現出來。因此這種方法主要用于針對控制流的仿真。
如果是同步系統,比如基于數據流的通信或者信號處理系統,每產生一個采樣點都對應發生一個事件,需要更新事件隊列,這在運行時的開銷就非常大。因此,基于事件驅動的仿真技術不適用于針對數字通信系統之類的系統級設計工具。
5.3 數據流驅動的仿真
模塊的調度由輸入端口的采樣數據數量決定,這就是數據流驅動的仿真技術特性。模塊被調用時,會從輸入端口讀取一定數量的采樣數據,同時將一定數量的數據輸出。消耗和產生的采樣點個數分別對應輸入輸出端口的速率。當輸入端口累積的數據量超過端口速率時,模塊就會被調用。
模塊的各個端口速率不要求一致,因此建模多速率系統和模塊都很方便。
模塊調度的順序又稱為調度算法。如果端口速率恒定,或者說端口速率在仿真時間內不變,調度算法就可以在仿真開始之前確定。這稱為靜態調度,也叫同步數據流。如果模塊的端口速率不是常數,而是在每一次調用時都不相同,調度算法就無法預先確定,需要在仿真運行時動態的調整。這稱為動態調度或者動態數據流。動態調度會增加額外的運行時開銷,但是比起靜態調度更靈活。而且在某些數字信號接收機算法中,比如定時恢復或者不固定的采樣速率轉換模塊,只能采用動態數據流來建模。信號的傳輸可以用帶方向的線網來表示。模塊的輸出端口會與其他模塊的輸入端口相連。有些端口連接需要特別關注,因為如果端口速率不匹配,可能會造成調度算法的內存問題。另外,反饋環路中需要包含延遲模塊。需要特別說明的是,這些問題并不是數據流驅動的仿真造成的,而是離散信號系統本身不可避免的。比如兩個離散信號的加法或者乘法操作需要信號有相同的采樣速率,而離散信號系統中的反饋環路必須包含延遲。只有遵循了特定的規則,對離散信號系統的仿真才能保證內存不會溢出。而仿真工具應該提供幫助用戶定位速率不匹配和死鎖的功能。
由于離散時間數字信號可以用數據流和多速率模塊來表示,因此采用數據流驅動的仿真器對數據信號和控制信號流建模就有很高的效率。圖5給出了數據流驅動的仿真模型的例子。圖的上半部分是動態多速率模型,帶有高速端口的模塊主要用來處理數據鏈路。圖的下半部分是低速的控制模塊,用來指示每一幀的符號數或者比特數。由此可見,數據流驅動的仿真是數字通信系統中最常用,也是最有效的仿真方法。
6優化的系統級設計解決方案
對于物理層算法的仿真,我們有多種方案可以選擇。包括直接利用C/C++編譯信號處理函數庫,以及采用商業化工具提供的建模和仿真模式。本節以Synopsys System Studio為例,說明在無線設計領域,商業化工具相比C/C++在各方面的優勢。
6.1 仿真模式
上文提及,Synopsys System Studio采用了數據流驅動的仿真模式,能夠自動處理靜態和動態數據流,特別適合針對復雜通信系統的設計需求。
時間驅動的仿真技術需要在仿真性能(使用向量處理)和仿真靈活性(反饋回路,時域和頻域切換)之間取得折中,而且對動態系統模型仿真的支持不夠。
C/C++沒有專門的仿真模式,開發者需要自己設計調度算法。因此在C/C++中可以使用數據流驅動的概念。SystemC仿真器采用事件驅動的方式,考慮到對仿真性能的影響,應該盡量避免使用。
6.2 建模效率
System Studio對模型接口有嚴格的定義,支持基于模塊的設計方法(見圖6),對模型的使用簡單明了,文檔管理也很清晰。System Studio支持SystemC定點數據類型,允許數據類型重載,從而大大簡化了浮點到定點的轉換過程。對于商業化的工具,我們需要了解它們的發展歷程。一般來說,每種工具及其建模方式都有各自的應用范圍。比如針對控制信號的建模方式并不適合通信系統中常見的數據流模型。在浮點到定點的轉換過程中,應該避免重復建模,而應采用支持參數的模型,通過參數修改來逐步轉換。
C/C++的建模效率很低,因為除了需要設計功能模塊,還需要同時開發專門的調度算法來管理這些模塊。一旦修改了設計,調度算法也需要做相應的調整。這不但要求所有的研發人員都遵循嚴格的代碼風格,也加大了項目維護的難度。SystemC建模也存在同樣的問題,僅有的改進包括增加了對定點數據類型的支持,模型間可以利用FIFO完成數據交換。
6.3 仿真效率
System Studio采用了優化的數據流驅動概念,支持自動分析和產生靜態調度算法,必要的時候又保持了動態調度的靈活性,因此仿真效率很高。System Studio針對定點仿真還采用了特殊的優化技術,使得包含SystemC定點數據類型的仿真平臺有接近浮點平臺的運算速度。
對定點算法的建模與仿真有兩種常用的模式。一種是高建模效率(使用一些通用的定點數據類型)加低仿真速度,另一種是低建模效率(使用整型數據類型、移位及與或操作)加高仿真速度。如果選擇了適當的調度算法,使用固有的數據類型,C/C++的仿真效率是很高的。從設計復雜度的角度來講,C/C++仿真的主要工作是設計一個有效的調度算法。商業化的工具由于內置了優化的調度算法,在仿真效率上的優勢明顯。SystemC仿真內核采用了基于事件驅動的仿真技術,不適用于通信系統的仿真。采用C/C++仿真還需要額外開發的分布式仿真模式和增加數據管理功能,這本身也是一項艱巨的任務。
6.4 重用效率
System Studio極高的重用效率得益于其嚴格定義的接口規范,這保證了不同來源的模型可以有效整合在一起。而基于模塊的設計輸入和自動生成HTML格式文檔的能力也使得模型重用效率極大提高。C/C++模型接口沒有嚴格的規范,接口定義有很大的自由度,不支持圖形設計界面,也不支持文檔生成和管理,因此重用效率很低。
6.5 驗證效率
System Studio的驗證效率很高,內置的HDL導入特性支持所有主流的HDL仿真器。同時System Studio可以導出SystemC模型,因此System Studio開發的模型可以在SystemC仿真環境中使用。
其他的商業化的解決方案多數不提供硬件仿真的接口,或者需要額外購買昂貴的工具。C/C++的驗證效率很不錯,因為C/C++函數可以與HDL仿真平臺或虛擬平臺進行集成。SystemC的驗證效率也很高,SystemC 模型可以直接在HDL仿真器以及SystemC兼容的虛擬平臺中使用。SystemC模型還可以利用時鐘和并發的概念來創建適配器,這一點與C/C++不同。
7總結
對于現代通信系統的開發,比如LTE和WiMAX,算法設計驗證工具的選擇對設計質量和能否早日實現商用都有著非常重要的影響。LTE和WiMAX系統都需要支持極高的數據速率,同時也要滿足頻譜效率的要求,這些都會導致非常復雜的信號處理算法。4G標準定義了很多應用場景,要求系統在這些場景中都能很好的工作,因此在算法設計階段需要仿真大量的測試案例。復雜度和項目周期的壓力要求算法與結構設計能與軟硬件實現工作完全整合在一起。因此,系統設計變成了一項更寬泛的工程,不止需要工程師之間橫向的合作,也需要按照項目進展的情況縱向的管理。
設計流程或者方法的選擇對設計效率有很大的影響。對于算法工程師來講,效率體現在使用的工具上,具體包括四個方面的因素:建模效率,仿真效率,重用效率和驗證效率。當選擇某種工具或者方法來進行有效的算法設計時,工程設計者需要從整個設計流程的角度來考慮算法復雜度的要求。針對一些簡單設計的解決方案對更大更復雜的系統來說可能完全不適用。而如果每一個項目都采用獨特的工具和方法,項目的維護就會成為噩夢。一些表面上看成本很小的解決方案,后續可能需要購買其他昂貴的工具。而如果工具某些基礎功能缺失,也會耗費工程師更多的時間和精力。
Synopsys的 System Studio作為業界領先的仿真工具,針對通信系統設計者面臨的挑戰給出了完善的解決方案。System Studio的特點包括:
支持算法設計的標準化流程:標準模型接口、自動生成和管理文檔、代碼檢查、版本控制系統接口。