數學建模常用優化算法范文

時間:2024-01-08 17:42:27

導語:如何才能寫好一篇數學建模常用優化算法,這就需要搜集整理更多的資料和文獻,歡迎閱讀由公文云整理的十篇范文,供你借鑒。

數學建模常用優化算法

篇1

全國大學生數學建模競賽以輝煌的成績即將迎來她的第17個年頭,她已是當今培養大學生解決實際問題能力和創造精神的一種重要方法和途徑,參加大學生數學建模競賽已成為大學校園里的一個時尚。正因如此,為了進一步擴大競賽活動的受益面,提高數學建模的水平,促進數學建模活動健康有序發展,筆者在認真研究大學生數學建模競賽內容與形式的基礎上,結合自己指導建模競賽的經驗及前參賽獲獎選手的心得體會,對建模競賽培訓過程中的培訓內容、方式方法等問題作了探索。

一、數學建模競賽培訓工作

(一)培訓內容

1.建模基礎知識、常用工具軟件的使用。在培訓過程中我們首先要使學生充分了解數學建模競賽的意義及競賽規則,學生只有在充分了解數學建模競賽的意義及規則的前提下才能明確參加數學建模競賽的目的;其次引導學生通過各種方法掌握建模必備的數學基礎知識(如初等數學、高等數學等),向學生主要傳授數學建模中常用的但學生尚未學過的方法,如圖論方法、優化中若干方法、概率統計以及運籌學等方法。另外,在講解計算機基本知識的基礎上,針對建模特點,結合典型的建模題型,重點講授一些實用數學軟件(如Mathematica、Matlab、Lindo、Lingo、SPSS)的使用及一般性開發,尤其注意加強講授同一數學模型可以用多個軟件求解的問題。

2.建模的過程、方法。數學建模是一項非常具有創造性和挑戰性的活動,不可能用一些條條框框規定出各種模型如何具體建立。但一般來說,建模主要涉及兩個方面:第一,將實際問題轉化為理論模型;第二,對理論模型進行計算和分析。簡而言之,就是建立數學模型來解決各種實際問題的過程。這個過程可以用如下圖1來表示。

為了使學生更快更好地了解建模過程、方法,我們可以借助圖1所示對學生熟悉又感興趣的一些模型(例如選取高等教育出版社2006年出版的《數學建模案例集》中的案例6:外語單詞妙記法)進行剖析,讓學生從中體驗建模的過程、思想和方法。

3.常用算法的設計。建模與計算是數學模型的兩大核心,當模型建立后,計算就成為解決問題的關鍵要素,而算法好壞將直接影響運算速度的快慢及答案的優劣。根據競賽題型特點及前參賽獲獎選手的心得體會,建議大家多用數學軟件(Mathematica,Matlab,Maple,Lindo,Lingo,SPSS等)設計算法,這里列舉常用的幾種數學建模算法。

(1)蒙特卡羅算法(該算法又稱隨機性模擬算法,是通過計算機仿真來解決問題的算法,同時可以通過模擬可以來檢驗自己模型的正確性,是比賽時必用的方法,通常使用Mathematica、Matlab軟件實現)。(2)數據擬合、參數估計、插值等數據處理算法(比賽中通常會遇到大量的數據需要處理,而處理數據的關鍵就在于這些算法,通常使用Matlab作為工具)。(3)線性規劃、整數規劃、多元規劃、二次規劃等規劃類問題(建模競賽大多數問題屬于最優化問題,很多時候這些問題可以用數學規劃算法來描述,通常使用Lindo、Lingo軟件實現)。(4)圖論算法(這類算法可以分為很多種,包括最短路、網絡流、二分圖等算法,涉及到圖論的問題可以用這些方法解決,需要認真準備,通常使用Mathematica、Maple作為工具)。(5)動態規劃、回溯搜索、分治算法、分支定界等計算機算法(這些算法是算法設計中比較常用的方法,很多場合可以用到競賽中,通常使用Lingo軟件實現)。(6)圖象處理算法(賽題中有一類問題與圖形有關,即使與圖形無關,論文中也應該不乏圖片的,這些圖形如何展示以及如何處理就是需要解決的問題,通常使用Matlab進行處理)。

4.論文結構,寫作特點和要求。答卷(論文)是競賽活動成績結晶的書面形式,是評定競賽活動的成績好壞、高低,獲獎級別的惟一依據。因此,寫好數學建模論文在競賽活動中顯得尤其重要,這也是參賽學生必須掌握的。為了使學生較好地掌握競賽論文的撰寫要領,我們的做法是:(1)要求同學們認真學習和掌握全國大學生數學建模競賽組委會最新制定的論文格式要求且多閱讀科技文獻。(2)通過對歷屆建模競賽的優秀論文(如以中國人民信息工程學院李開鋒、趙玉磊、黃玉慧2004年獲全國一等獎論文:奧運場館周邊的MS網絡設計方案為范例)進行剖析,總結出建模論文的一般結構及寫作要點,讓學生去學習體會和摸索。(3)提供幾個具有一定代表性的實際建模問題讓學生進行論文撰寫練習。

(二)培訓方式、方法

1.盡可能讓不同專業、能力、素質方面不同的三名學生組成小組,以利學科交叉、優勢互補、充分磨合,達成默契,形成集體合力。

2.建模的基本概念和方法以及建模過程中常用的數學方法教師以案例教學為主;合適的數學軟件的基本用法以及歷屆賽題的研討以學生討論、實踐為主、教師指導為輔。

3.有目的有計劃地安排學生走出課堂到現實生活中實地考察,豐富實際問題的背景知識,引導學生學會收集數據和處理數據的方法,培養學生建立數學模型解決實際問題的能力。

4.在培訓班上,我們讓學生以3人一組的形式針對建模案例就如何進行分析處理、如何提出合理假設、如何建模型及如何求解等進行研究與討論,并安排讀書報告。使同學們在經過“學模型”到“應用模型”再到“創造模型”的遞進階梯式訓練后建模能力得到不斷提高。

篇2

(1.中國91055部隊,浙江 臺州 318500;2.中國91576部隊,浙江 寧波 315021)

【摘 要】綜合保障的實踐表明,保障任務的核心問題就是如何維護復雜裝備的系統可靠度和運行可用度。可用度建模是解決這些問題的前提,隨著新理論的不斷涌現,對建模關鍵技術的研究越來越深入。分析了可用度模型的分類和建模過程中遇到的關鍵技術,論述了系統結構、壽命分布、使用維修等條件對可用度建模過程中的影響,并對建模方法的適應性進行了初步的探討。

關鍵詞 可用度;建模方法;馬爾科夫;更新過程

作為衡量裝備戰備完好與任務持續能力的重要參數——系統可用度,長期以來一直受到裝備研制部門和裝備使用部門的高度重視,它的優點在于其綜合性很強,把裝備的可靠性、維修性、測試性和保障性等設計特性綜合為軍方所關心的使用參數。[1-3]解決系統可用度問題的前提是建模,本文研究的目的就是提出一個可用度建模方法的框架,為深入研究打下基礎。

1 建模方法分類

可用度的數學模型可以大致分為概率模型和統計模型兩類:概率模型和統計模型。概率模型是指,從系統結構出發及部件的壽命分布、修理時間分布等等有關的信息出發,來推斷出與系統壽命有關的可靠性數量指標,進一步可討論系統的最優設計、使用維修策略等。其中概率模型根據系統相關時間的概率分布的不同又分為微積分模型、馬爾科夫模型和更新過程模型。統計模型是指,從觀察數據出發,對部件或系統的壽命、可靠性指標等進行估計和檢驗。

隨著相關領域的發展,可用度的數學模型出現一類綜合類模型,包括:基于離散事件的模型、基于神經網絡的模型和基于遺傳算法的模型等。可用度建模方法分類如圖1所示。

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.

篇3

關鍵詞: 數值分析 數學建模 Matlab

數值分析又稱計算方法,是一門與計算機使用密切結合的實用性很強的一門課程,重點研究如何運用數值計算方法去處理實際工程問題,因此數值分析在科學研究、工程建設和經濟建設等很多方面有著廣泛的應用。在信息科學和計算機技術飛速發展的今天,這門課程中的數值方法更顯得極其重要,但是對多數學校來說,還沒有引起對這門課足夠的重視,而且在數值分析的教學過程中都存在很多不足。不少學者也討論過我國高校中數值分析課程的教學情況,其中存在一些普遍問題,例如學生理論學習模式化、實踐能力不夠、缺乏應用性,學習過程中學生感覺到枯燥或者學習效果不佳,學校軟、硬件設施無法滿足學生的上機實習等。如何更好地開展這門課程的教學工作,對于我們來說是一個巨大的挑戰。下面我們來談談在教學過程中遇到的幾個問題。

1.理論基礎知識扎實,同時采用啟發式教學

課程中的很多公式是推導出來的,推導過程比較煩瑣,得到的公式也比較冗長,而且比較難記,對于已經復雜并且很冗長的數值公式,還需要進一步進行抽象的理論分析,包括算法的收斂性如何,數值算法是否穩定并進行誤差分析,以及分析算法的空間和時間復雜性等,同時還涉及如微積分、線性代數、常微分方程等。過多地強調數學理論證明,大多數的學生覺得這門課很難,學得很枯燥,也感覺不到樂趣,從而越來越厭煩學習這門課程。

因此,我們要將“因材施教”的理念落到實處。方法的講授應該盡量地從實例中提出問題,引導學生去思考如何運用數學知識去構造解決的方法,然后給出相應的數學理論。并且,給出一種方法,可以換位思考,激發學生思考是否能用另外的已學方法來求解。這樣不僅能復習已學的知識,而且能鞏固各種知識之間的聯系,還可以啟發學生把學過的知識學以致用,真正了解學習帶來的樂趣。

2.將數學建模的思想融入到教學過程中

數值分析是對實際問題的數值模擬方法的設計、分析與軟件實現的理論基礎。要解決具體的實際問題,首先需要建立起適當的數學模型,將實際問題的解決歸結為相應的數學問題的求解,然后對所歸結的數學問題建立相應的數值方法。這樣就可以以實例啟發學生弄清為什么要進行數值分析、應該如何引進數值方法進行分析,建立一種數值分析的方法后,哪些問題是值得且必須研究的。例如在汽車、飛機等的外形設計過程中,利用樣條技術設計的外形越來越光滑、美觀。學生了解了樣條插值的實際應用背景后就會對樣條插值的理論更感興趣,也會更有動力來學。

將數學建模的思想融入到數值分析教學過程中,要求我們必須有一個合適的切入點,不能用數學建模課的內容過多占有數值分析課的教學,因此精選只涉及相應數值分析理論和方法而又能體現數學建模思想的內容,既能吸引學生又是學生以后可能碰到的案例,將其融入到數值分析課程中是十分重要的。下面具體舉兩個例子,插值方法可以引入人口增長的模型和設計公路平面曲線的問題,常微分方程的差分方法可以引入導彈追蹤和估計水塔的流量問題,方程求根的迭代法可以引入一般戰爭模型,線性方程組的解法可以引入投入產出模型和小行星軌道問題等。

3.結合Matlab進行實踐教學

在結合多媒體教學的過程中,盡量地在講解數學模型的過程中,無論是問題的引入還是算法的講解和實現,以及結果盡可能地轉化成圖形等一些可視的結果展示給學生,以激發學生的學習興趣,引人入勝,Matlab軟件的可視化功能能夠實現這一點。

在計算機技術飛速發達的今天,只要有效地把教學過程和相關的計算機技術結合起來,就能夠做到減輕教師教和學生學的負擔,優化學習環境,實現高效教學。在一些數值分析教材中一些常用的算法都已經有了現成的程序,因此在授課的過程中,對這些算法進行展示時,要讓學生從中學會如何將一個算法轉變成一段程序。鼓勵學生自己根據算法寫出程序流程圖,然后使用Matlab語言將其轉變成程序,將自己所得程序與課本中的結果進行比較分析,這個過程有助于學生更好地理解算法,增強學生動手實踐的自信心。

4.結語

數值分析是研究數學模型的數值計算方法。隨著電子計算機的迅速發展、普及,以及新型數值軟件的不斷開發,數值分析的理論和方法無論是在高科技領域還是在傳統學科領域,其作用和影響都越來越大,實際上它已成為科學工作者和工程技術人員必備的知識和工具。

對于理工科的本科學生而言,它的理論和實踐知識對學生的要求都比較高。因此要讓學生學好這門課程,需要在教學中采用一些技巧性的教學方法,比如采用啟發式的教學方法,融入數學建模的思想,以及結合Matlab進行實踐教學等。這樣可以調動學生主動學習的積極性,提高學生的綜合素質,使學生真正學好這門課程。

參考文獻:

[1]趙景軍,吳勃英.關于數值分析教學的幾點探討[J].大學數學,2005,21(3):28-30.

[2]孫亮.數值分析方法課程的特點與思想[J].工科數學,2002,18(1):84-86.

篇4

關鍵詞:軟測量;神經網絡;軟件設計

中圖分類號:TP18文獻標識碼:A文章編號:1009-3044(2011)04-0753-04

The Development and Design of the Modeling Software for Soft Sensor

HOU Yan-song, XIE Gang, ZHANG Min, LIU Ya-ru

(Automation Research Institute of Lanzhou Petrochemical Company Petrochina, Lanzhou 730060, China)

Abstract: This paper designs a soft-sensing modeling software for chemical production process, Considering the complexity in the practical industry process, the software applies the linear regression modeling approach and the nonlinear neural network modeling approach to design the measurement software. Practice have been carried on the production process of Ethyl benzene and Starch content prediction, and the results show that the software can fulfill the function of trend prediction.

Key words: soft-sensor; neural network; software development

在工業實際中,產品質量控制是所有工業過程控制的核心。要對產品質量進行實時有效的控制,就必須及時準確的了解產品的質量參數,從而及時調整工藝參數和控制參數,以期獲得良好的產品質量監測和控制。然而實際中,過程的質量參數通常是無法直接測量的,即使能夠利用分析儀表測量,也存在較大的分析滯后[1],無法完全滿足過程控制的需要。總的來說,我國石油化工行業現有的儀表設備很難實時的提供過程控制所需的質量參數信息。基于這種現實,更高一層的先進控制技術,過程優化技術,產品質量的監測管理等上層應用就受到了測量信息不足這一瓶頸問題的極大限制。在這種背景下,工業過程對過程檢測的內容和時效性均提出了新的要求。一方面,僅獲取流量、溫度、壓力、液位等常規過程參數的測量信息已不能滿足工藝操作指導和質量控制的要求,迫切需要獲取諸如成分、物性等與過程工藝操作和質量控制密切相關的檢測參數的測量信息。另一方面,測量從靜態或穩態向動態測量發展,在許多應用場合還需要綜合運用所獲得的各種過程測量信息,才能實現有效的過程控制、對生產過程或測量系統進行故障診斷、狀態監測。近年來,作為以計算機技術為基礎的軟測量技術成為了解決上述工業控制瓶頸問題的有效途徑之一,越來越受到關注[2-5]。

就苯乙烯、丙烯腈、乙烯及丁二烯抽提等化工裝置而言,產品質量數據主要是產品的純度。針對這一特點,本軟件采用基于數據驅動的建模方法,并考慮到實際的工業過程對象復雜多變,軟件采用了線性回歸建模和非線性神經網絡建模兩種方法來設計軟測量軟件。最后,根據工藝機理,我們通過建立苯乙烯裝置乙苯塔塔頂乙苯含量軟測量數學模型,完成了對塔頂乙苯含量的準確預測。

1 乙苯含量軟測量模型的建立

1.1 軟測量

軟測量的工作原理(見圖1),就是在常規檢測的基礎上,利用輔助變量與主導變量的關系,通過軟件計算 ,得到主導變量的測量值。軟測量技術的核心是建立用來預測主導變量的可靠的軟測量模型。初始軟測量模型是對過程變量的歷史數據進行辨識而來的。在應用過程中,軟測量模型的參數和結構并不是一成不變的,隨時間遷移工況和操作點可能發生改變,需要對它進行在線或離線修正,以得到更適合當前狀況的軟測量模型,提高模型的適合范圍。因此,軟測量結構可分為歷史數據處理、離線建模、在線運行(包括校正)三大模塊。

1.2 輔助變量的選擇

通過對苯乙烯裝置乙苯塔工藝機理研究,我們選擇通過DCS收集的1000組過程參數作為建模樣本集,300組過程數據作為校驗樣本集,運用統計學方法將樣本數據中隱含的對象信息進行濃縮和提取,通過工程師的經驗以及多元回歸分析方法,尋找最優變量來建模,從而建立主導變量和輔助變量之間的數學模型,見表1。

2 軟測量建模軟件的實現

2.1 軟件框架

選用微軟VC++6.0開發環境[6],軟件的整體設計采用面向對象的程序設計方法,考慮到軟測量儀表本身側重于數值計算和參數的頻繁傳遞,因此選用基于對話框的應用程序框架。該軟件框架結構簡單,易于人機參數傳遞。從程序的角度來說,軟件總共分四個主要模塊:主對話框模塊、算法模塊、矩陣運算模塊、圖形編輯模塊。如圖2所示。

1)主對話框模塊:即人機界面UI,提供基本的人機交流界面,以及數據文件操作。

2)算法模塊:是整個軟件的核心,包括了軟件中所有的算法程序,并且留有擴充借口,可隨時根據軟件的升級增加新的算法。軟件在調用算法時需要用戶傳遞的參數和算法結果的返回利用子對話框來傳遞。該模塊分為三個子模塊:① 數據歸一化模塊:主要功能是對原始樣本數據進行歸一化處理;② 樣本數據分析模塊:主要功能是對輔助變量進行相關性分析和主元分析;③ 建模算法模塊:偏最小二乘法建模、神經網絡建模。

3)矩陣運算模塊:主要功能是為算法模塊提供必需的矩陣運算支持。軟件中數據歸一化、樣本分析、建模的大多數算法在數學上表現為大量的矩陣運算,微軟MFC基礎類庫并沒有提供可以直接使用的矩陣運算類。為了使得建模算法代碼更為簡潔,易于修改。矩陣運算模塊將常用的矩陣運算操作寫成一個類――矩陣類,供算法程序調用。

4)圖形編輯模塊:主要功能是按照需要對工作空間中的數據進行曲線圖形顯示。作用是當離線建模完成后,需要對所建立的模型進行擬合試驗,將試驗結果以曲線的形式表現出來,軟件允許用戶自己設定坐標范圍和圖形標題。

2.2 偏最小二乘回歸法

偏最小二乘回歸是建立在主元分析原理上的化學計量學方法。它通過多元投影變換的方法,分析兩個不同矩陣間的相互關系。在主元分析中,提取主元的過程只是強調了主元對輔助變量信息的最大綜合能力,并沒有考慮主導變量。偏最小二乘法不僅利用對系統中的數據進行分析和篩選的方式辨識系統中的信息和噪聲,從而克服變量的多重線性相關性對建模的影響,而且在提取主元時還考慮主元和因變量的相關性,即主元對主導變量的解釋作用。因此,偏最小二乘回歸可以集多元線性回歸,主元分析,典型相關分析的基本功能為一體。

該算法原理如下:

假設有兩個數據矩陣X和Y,其中X∈Rn×m,Y∈Rn×1,X和Y之間的關系表示如下:

Y=Xβ+e (1)

式中:e表示殘差;β表示自適應因子。

自適應因子β的估計值可以用最小二乘法得到,即:

(2)

如果數據矩陣X具有較強的相關性,則式(2)中存在病態矩陣的求逆,結果誤差較大,而部分最小二乘法可以避免對病態矩陣求逆。其基本原理是將式(1)中的X和Y的關系分解為兩個內部關系和一個外部關系:式(3)、(4)和(5)。

(3)

(4)

其中,矩陣T=[t1 t2 … tα],U=[u1 u2 …uα];分別稱為X和Y的得分矩陣,而th和uh分別稱為矩陣X和Y的第h主元。P=[p1 p2 … pα]和Q=[Q1 Q2 … Qα]稱為荷載矩陣,U和T之間的關系表示如下:

(5)

式中:E、F、R為殘差矩陣。

該算法將高維空間信息投影到由幾個隱含變量組成的低維信息空間中,隱含變量包含了原始數據的重要信息,且隱含變量間是互相獨立的。

2.3 神經網絡法

基于人工神經網絡(Artificial Neural Network,ANN)的軟測量建模方法是近年來研究最多、發展很快和應用范圍很廣泛的一種軟測量建模方法[7-8]。能適用于高度非線性和嚴重不確定性系統,因此它為解決復雜系統過程參數的軟測量問題提供了一條有效途徑。

化工裝置產品含量預測建模通常處理的是非線性建模問題,而多層前向網絡已被證明具有以任意精確度進行復雜非線性函數的擬合能力[7],因此選擇前向網絡結構。網絡層數方面,除了網絡必須包含的輸入輸出層外,對于化工裝置產品含量預測這類軟測量建模,問題的復雜程度一般要求隱層數目為1。因此,軟件中采用包含一個隱含層的三層結構前饋網絡。

確定好網絡結構后,神經網絡用于軟測量建模實際上就是利用產品的歷史數據經過一定的算法來確定網絡的連接權值和閾值。BP算法是應用較早的學習算法,它充分利用了前向網絡的結構優勢,在正反傳播過程中的每一層計算都是并行的。但BP算法存在兩個缺點,即訓練時間長和容易陷入局部最小。針對此缺陷,本軟件在設計時采用了帶動量因子的改進方法來加快網絡訓練速度。改進的BP神經網絡的網絡設置和參數設置如圖3所示。

神經網絡建模算法采用BP算法,算法不再是簡單的矩陣操作。根據前饋神經網絡的結構將神經網絡用兩個類來描述,即神經網絡類和神經網絡層類。經過處理后,主程序算法簡潔,可讀性強。如果要改進BP算法,代碼的修改只需在類的方法中修改即可,不必修改主程序。神經網絡類的設計和神經網絡層類的設計主要代碼如下:

神經網絡類

屬性:

輸入層:CNeuralNetworkLayerInputLayer;

隱層: CNeuralNetworkLayerHiddenLayer;

輸出層:CNeuralNetworkLayer OutputLayer;

方法:

void Initialize(int nNodesInput, int nNodesHidden, int nNodesOutput); // 初始化函數確定了三層網絡的層次關系,有點類似構造函數

void SetInput(int i, double value); // 網絡輸入函數

double GetOutput(int i); // 網絡輸出函數

void SetDesiredOutput(int i, double value); // 設置網絡期望輸出函數

void LoadWeight(const CMatrix& I_H, const CMatrix& H_O, const CMatrix& H, const CMatrix& O); // 給網絡加載權值和閾值

void FeedForward(void); // 前向計算函數

void BackPropagate(void);// 反向權值調整函數(標準的最速梯度下降法)

void Levenberg_Marquardt(void);// 反向權值調整函數(Levenberg_Marquardt法)

double CalculateError(void); // 計算網絡全局誤差函數

void SetLearningRate(double rate1,double rate2); // 設置學習效率

void SetLinearOutput(bool useLinear); // 是否線性輸出

void SetMomentum(bool useMomentum, double factor); // 設置動量因素

神經網絡層類

屬性:

int NumberOfNodes; // 層中神經元數目

int NumberOfChildNodes; // 子層神經元數目

int NumberOfParentNodes; // 父層神經元數目

double**Weights; // 網絡權值數組

double**WeightChanges; // 權值改變數組

double* NeuronValues; // 神經元值

double* DesiredValues; // 導師信號

double* Errors; // 局部誤差

double* BiasWeights; // 偏差權值

double* BiasValues; // 偏差值

doubleLearningRate; // 學習效率

boolLinearOutput; // 是否線性輸出

boolUseMomentum; // 是否有動量因素

doubleMomentumFactor; // 動力因素大小值

CNeuralNetworkLayer* ParentLayer; // 父層

CNeuralNetworkLayer* ChildLayer; // 子層

方法:

void Initialize(int NumberOfNodes, CNeuralNetworkLayer* parent, CNeuralNetworkLayer* child); // 初始化(分配存儲空間)

void RandomizeWeights(void); // 權值初始化函數

void OrderWeights(const CMatrix& WeightsMatrix,const CMatrix& BiasWeightsMatrix); // 權值給定函數

void CalculateErrors(void); // 計算局部誤差函數

void AdjustWeights(void); // 調整權值函數

void CalculateNeuronValues(void); // 計算神經元值函數

void CleanUp(void); // 清除網絡層(有析構函數的作用)

2.4 軟測量模型的在線校正

由于軟測量對象的時變性、非線性及模型的不完整性等因素,必須經過模型的在線校正才能適應新工況。根據被估計變量的離線測量值與軟測量估計值的誤差,對軟測量模型進行在線修正,使軟測量儀表能跟蹤系統特性的緩慢變化,提高靜態自適應能力。一般采用在線校正算法為常數項修正法,即通過化驗值或分析值計算新的偏差,并把新的偏差寫入軟測量儀表,修正偏差。即:

新偏差=(采樣時刻計算值-化驗值)×偏差權重+舊偏差×(1-偏差權重)

3 工業應用

乙苯含量是乙苯精餾塔塔釜采出產品中一個十分重要的質量控制指標[9],通過輔助變量塔頂壓力、塔頂溫度、塔靈敏板溫度、回流量及塔釜溫度來預測乙苯含量變化趨勢。通過本軟件進行仿真,乙苯含量軟測量偏最小二乘建模數據擬合圖如圖4所示。其中,紅線為實際值,綠線為擬合值。誤差平方和:0.765762856683714,均方誤差:0.0033294037247118。

針對某裝置淀粉含量預測問題選擇神經網絡方法進行仿真研究,均方誤差:9.14971253690028e-009;擬合曲線:紅線為化驗值,綠線為擬合值。淀粉含量軟測量神經網絡建模數據擬合圖如圖5所示。

4 結束語

本文采用了微軟基礎類庫(MFC)提供的基于對話框的應用程序框架實現了軟測量建模軟件的開發。軟件主要是從數學的角度分別研究了線性和非線性軟測量建模算法,重點強調了建模算法對給定歷史數據的擬合和泛化能力。在具體的應用中,根據工藝知識對軟測量問題進行初步數學抽象,然后以本軟件作為一種工具建模,輔以必要的工藝機理分析檢驗模型的合理性。通過對實際中兩個化工過程進行的仿真表明,該軟件基本具備了軟測量建模預測產品含量變化趨勢的能力,可以得到較好的效果。

參考文獻:

[1] 王樹青.先進控制技術及應用[M].北京:化學工業出版社,2005.

[2] Morris A J,Montague G A,Tham M T.Soft-sensors in industrial process control[C].London,UK:Applied developments in process control,1989.

[3] 王躍宣.先進控制策略與軟件實現及應用研究[D].杭州:浙江大學,2003.

[4] 俞金壽.軟測量技術及其在石油化工中的應用[M].北京:化學工業出版社,2000.

[5] 馬勇,黃德先,金以慧.動態軟測量建模方法初探[J].化工學報,2005,56(8):1516-1519.

[6] 侯俊杰.深入淺出MFC[M].2版.武漢:華中科技大學出版社,2001.

[7] 薄翠梅,張,李俊,等.基于神經網絡的軟測量技術在精餾塔上的應用[J].過程工程學報,2003,3(4):371-375.

篇5

論文關鍵詞:遺傳算法

 

1 引言

“物競天擇,適者生存”是達爾文生物進化論的基本原理,揭示了物種總是向著更適應自然界的方向進化的規律。可見,生物進化過程本質上是一種優化過程,在計算科學上具有直接的借鑒意義。在計算機技術迅猛發展的時代,生物進化過程不僅可以在計算機上模擬實現,而且還可以模擬進化過程,創立新的優化計算方法,并應用到復雜工程領域之中,這就是遺傳算法等一類進化計算方法的思想源泉。

2 遺傳算法概述

遺傳算法是將生物學中的遺傳進化原理和隨[1]優化理論相結合的產物,是一種隨機性的全局優算法。遺傳算法不但具有較強的全局搜索功能和求解問題的能力,還具有簡單通用、魯棒性強、適于并行處理等特點數學建模論文,是一種較好的全局優化搜索算法。在遺傳算法的應用中,由于編碼方式和遺傳算子的不同,構成了各種不同的遺傳算法。但這些遺傳算法都有共同的特點,即通過對生物遺傳和進化過程中選擇、交叉、變異機理的模仿,來完成對問題最優解的自適應搜索過程。基于這個共同點,Holland的遺傳算法常被稱為簡單遺傳算法(簡記SGA),簡單遺傳算法只使用選擇算子、交叉算子和變異算子這三種基本遺傳算子,其遺傳進化操作過程簡單,容易理解,是其他一些遺傳算法的雛形和基礎,這種改進的或變形的遺傳算法,都是以其為基礎[1]。

2.1遺傳算法幾個基本概念

個體(IndividualString):個體是遺傳算法中用來模擬生物染色體的一定數目的二進制串,該二進制串用來表示優化問題的滿意解。

種群(population):包含一組個體的群體,是問題解的集合。

基因模式(Sehemata):基因模式是指二進制位串表示的個體中,某一個或某些位置上具有相似性的個體組成的集合,也稱模式。

適應度(Fitness):適應度是以數值方式來描述個體優劣程度的指標,由評價函數F計算得到。F作為求解問題的目標函數,求解的目標就是該函數的最大值或最小值。

遺傳算子(genetic operator):產生新個體的操作,常用的遺傳算子有選擇、交叉和變異。

選擇(Reproduetion):選擇算子是指在上一代群體中按照某些指標挑選出的,參與繁殖下一代群體的一定數量的個體的一種機制龍源期刊。個體在下一代種群中出現的可能性由個體的適應度決定,適應度越高的個體,產生后代的概率就越高。

交叉(erossover):交叉是指對選擇后的父代個體進行基因模式的重組而產生后代個體的繁殖機制。在個體繁殖過程中,交叉能引起基因模式的重組,從而有可能產生含優良性能的基因模式的個體。交叉可以發生在染色體的一段基因串或者多段基因串。交叉概率(Pc)決定兩個個體進行交叉操作的可能性數學建模論文,交叉概率太小時難以向前搜索,太大則容易破壞高適應度的個體結構,一般Pc取0.25~0.75

變異(Mutation):變異是指模擬生物在自然的遺傳環境中由于某種偶然因素引起的基因模式突變的個體繁殖方式。在變異算子中,常以一定的變異概率(Pm)在群體中選取個體,隨機選擇個體的二進制串中的某些位進行由概率控制的變換(0與1互換)從而產生新的個體[2]。如果變異概率太小,就難以產生新的基因結構,太大又會使遺傳算法成了單純的隨機搜索,一般取Pm=0.1~0.2。在遺傳算法中,變異算子增加了群體中基因模式的多樣性,從而增加了群體進化過程中自然選擇的作用,避免早熟現象的出現。

2.2基本遺傳算法的算法描述

用P(t)代表第t代種群,下面給出基本遺傳算法的程序偽代碼描述:

基本操作:

InitPop()

操作結果:產生初始種群,初始化種群中的個體,包括生成個體的染色體值、計算適應度、計算對象值。

Selection()

初始條件:種群已存在。

操作結果:對當前種群進行交叉操作。

Crossover()

初始條件:種群已存在。

操作結果:對當前種群進行交叉操作。

Mutation()

初始條件:種群已存在。

對當前種群進行變異操作。

PerformEvolution()

初始條件:種群已存在且當前種群不是第一代種群。

操作結果:如果當前種群的最優個體優于上一代的最優本,則將其賦值給bestindi,否則不進行任何操作。

Output()

初始條件:當前種群是最后一代種群。

操作結果:輸出bestindi的表現型以及對象值。

3 遺傳算法的缺點及改進

遺傳算法有兩個明顯的缺點:一個原因是出現早熟往往是由于種群中出現了某些超級個體,隨著模擬生物演化過程的進行,這些個體的基因物質很快占據種群的統治地位,導致種群中由于缺乏新鮮的基因物質而不能找到全局最優值;另一個主要原因是由于遺傳算法中選擇及雜交變異等算子的作用,使得一些優秀的基因片段過早丟失,從而限制了搜索范圍,使得搜索只能在局部范圍內找到最優值,而不能得到滿意的全局最優值[3]。為提高遺傳算法的搜索效率并保證得到問題的最優解,從以下幾個方面對簡單遺傳算法進行改進。

3.1編碼方案

因實數編碼方案比二進制編碼策略具有精度高、搜索范圍大、表達自然直觀等優點數學建模論文,并能夠克服二進制編碼自身特點所帶來的不易求解高精度問題、不便于反應所求問題的特定知識等缺陷,所以確定實數編碼方案替代SGA中采用二進制編碼方案[4]。

3.2 適應度函數

采用基于順序的適應度函數,基于順序的適應度函數最大的優點是個體被選擇的概率與目標函數的具體值無關,僅與順序有關[5]。構造方法是先將種群中所有個體按目標函數值的好壞進行排序,設參數β∈(0,1),基于順序的適應度函數為:

(1)

3.3 選擇交叉和變異

在遺傳算法中,交叉概率和變異概率的選取是影響算法行為和性能的關鍵所在,直接影響算法的收斂性。在SGA中,交叉概率和變異概率能夠隨適應度自動調整,在保持群體多樣性的同時保證了遺傳算法的收斂性。在自適應基本遺傳算法中,pc和pm按如下公式進行自動調整:

(2)

(3)

式中:fmax為群體中最大的適應度值;fave為每代群體的平均適應度值;f′為待交叉的兩個個體中較大的適應度值;f為待變異個體的適應度值;此處,只要設定k1、k2、k3、k4為(0,1)之間的調整系數,Pc及Pm即可進行自適應調整。本文對標準的遺傳算法進行了改進,改進后的遺傳算法對交叉概率采用與個體無關,變異概率與個體有關。交叉算子主要作用是產生新個體,實現了算法的全局搜索能力。從種群整體進化過程來看,交叉概率應該是一個穩定而逐漸變小,到最后趨于某一穩定值的過程;而從產生新個體的角度來看,所有個體在交叉操作上應該具有同等地位,即相同的概率,從而使GA在搜索空間具有各個方向的均勻性。對公式(2)和(3)進行分析表明,適應度與交叉率和變異率呈簡單的線性映射關系。當適應度低于平均適應度時,說明該個體是性能不好的個體數學建模論文,對它就采用較大的交叉率和變異率;如果適應度高于平均適應度,說明該個體性能優良,對它就根據其適應度值取相應的交叉率和變異率龍源期刊。

當個體適應度值越接近最大適應度值時,交叉概率和變異概率就越小;當等于最大適應度值時,交叉概率和變異概率為零。這種調整方法對于群體處于進化的后期比較合適,這是因為在進化后期,群體中每個個體基本上表現出較優的性能,這時不宜對個體進行較大的變化以免破壞了個體的優良性能結構;但是這種基本遺傳算法對于演化的初期卻不利,使得進化過程略顯緩慢[6]。因為在演化初期,群體中較優的個體幾乎是處于一種不發生變化的狀態,而此時的優良個體卻不一定是全局最優的,這很容易導致演化趨向局部最優解。這容易使進化走向局部最優解的可能性增加。同時,由于對每個個體都要分別計算Pc和Pm,會影響程序的執行效率,不利于實現。

對自適應遺傳算法進行改進,使群體中具有最大適應度值的個體的交叉概率和變異概率不為零,改進后的交叉概率和變異概率的計算公式如式(4)和(5)所示。這樣,經過改進后就相應地提高了群體中性能優良個體的交叉概率和變異概率,使它們不會處于一種停滯不前的狀態,從而使得算法能夠從局部最優解中跳出來獲得全局最優解[7]。

(4)

(5)

其中:fmax為群體中最大的適應度值;fave為每代群體的平均適應度值;f′為待交叉的兩個個體中較大的適應度值;f為待變異個體的適應度值;pc1為最大交叉概率;pm1為最大變異概率。

3.4 種群的進化與進化終止條件

將初始種群和產生的子代種群放在一起,形成新的種群,然后計算新的種群各個體的適應度,將適應度排在前面的m個個體保留,將適應度排在后面m個個體淘汰數學建模論文,這樣種群便得到了進化[8]。每進化一次計算一下各個個體的目標函數值,當相鄰兩次進化平均目標函數之差小于等于某一給定精度ε時,即滿足如下條件:

(6)

式中,為第t+1次進化后種群的平均目標函數值,為第t次進化后種群的平均目標函數值,此時,可終止進化。

3.5 重要參數的選擇

GA的參數主要有群里規模n,交叉、變異概率等。由于這些參數對GA性能影響很大,因此參數設置的研究受到重視。對于交叉、變異概率的選擇,傳統選擇方法是靜態人工設置。現在有人提出動態參數設置方法,以減少人工選擇參數的困難和盲目性。

4 結束語

遺傳算法作為當前研究的熱點,已經取得了很大的進展。由于遺傳算法的并行性和全局搜索等特點,已在實際中廣泛應用。本文針對傳統遺傳算法的早熟收斂、得到的結果可能為非全局最優收斂解以及在進化后期搜索效率較低等缺點進行了改進,改進后的遺傳算法在全局收斂性和收斂速度方面都有了很大的改善,得到了較好的優化結果。

參考文獻

[1]邢文訓,謝金星.現代優化計算方法[M].北京:清華大學出版社,1999:66-68.

[2]王小平,曹立明.遺傳算法理論[M].西安交通大學出版社,2002:1-50,76-79.

[3]李敏強,寇紀淞,林丹,李書全.遺傳算法的基本理論與應用[M].科學出版社, 2002:1-16.

[4]涂承媛,涂承宇.一種新的收斂于全局最優解的遺傳算法[J].信息與控制,2001,30(2):116-138

[5]陳瑋,周激,流程進,陳莉.一種改進的兩代競爭遺傳算法[J].四川大學學報:自然科學版,2003.040(002):273-277.

[6]王慧妮,彭其淵,張曉梅.基于種群相異度的改進遺傳算法及應用[J].計算機應用,2006,26(3):668-669.

[7]金晶,蘇勇.一種改進的自適應遺傳算法[J].計算機工程與應用,2005,41(18):64-69.

[8]陸濤,王翰虎,張志明.遺傳算法及改進[J].計算機科學,2007,34(8):94-96

篇6

如今,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仿真和參考仿真結果不同時,很難確定錯誤發生的位置和原因

這種方法已經逐漸被淘汰。現在流行的方法是不同部門之間通過一個可執行平臺來傳遞設計定義。算法部門、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仿真技術

如今市面上存在很多設計工具,但是所使用的仿真技術可以歸為以下三類:

時間驅動的仿真

事件驅動的仿真

數據流驅動的仿真

這些仿真技術的主要差別在于頂層模塊是如何調用子模塊與子函數的。在數字通信和信號處理系統中,不同的仿真技術將導致仿真速度的巨大差異。

在數字通信和信號處理系統中,信號可以分為數據信號和控制信號,也稱為數據流和控制流。

數字通信接收機利用數據信號來檢測和解調發送的符號。這些數據信號承載著有用信息,數值在每個采樣時間點是變化的。數據信號既可以用無限精度(實數)的離散時間信號來表示,也可以看作有限精度的數字信號。任何一種表示方法都可以附帶離散時間索引作為參量。這個參量也可以忽略,因為它僅僅表示信號在時間軸上的位置關系。位置關系要么是已知的,要么可以隨時重建。因此離散時間數據信號可以看作是由采樣點組成的數據流。

控制信號則是一些邏輯值或者標志,用來對通信或者信號處理系統中的數據鏈路進行控制和配置。例如,控制信號可以指示信道解碼器采用什么樣的碼表。控制信號的值一般很少改變。因此控制信號可以看作是低速數據流或者離散的事件。在算法設計的開始階段,控制信號可以首先以參數的形式存在。在后續過程中,比如架構設計階段,再重新以信號的形式建模(參看圖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的特點包括:

支持算法設計的標準化流程:標準模型接口、自動生成和管理文檔、代碼檢查、版本控制系統接口。

篇7

關鍵詞:數學實驗 課程體系 教學改革

中圖分類號:G624.4 文獻標識碼:A 文章編號:1674-098X(2012)12(b)-0-02

在大學理工科課程中,數學課程占有較大的比重,而傳統的數學課堂教學的展開,通常以教師為主,遵循引例、概念、定理、公式、舉例的模式進行理論教學。這種教學方式注重邏輯的嚴密性,書本知識的系統性,優點是可以在短時間內向學生傳授更多的知識,但是從學生角度看,大部分學生是被動的接受知識的輸入,學生探求知識的主動性欠缺,當學生在面臨后繼專業課中實際問題時,卻無從下手,不知如何使用所學知識去解決實際問題。為了激勵學生積極主動的自己獲取知識的興趣,培養自主學習能力,數學實驗課程的開設將極大地改變這種情況[1]。

最近幾年已有不少高校開設了數學實驗,但在課程設置、教學內容、教學方法和組織方式等各個方面,都在試驗和討論之中。雖然我校在數學實驗方面起步較晚,但通過各級精品課程的建設和數學建模競賽活動的開展,已積累了豐富的經驗和教學資源,為構建數學實驗課程體系提供了良好的基礎。

1 目前數學實驗課程體系存在的主要問題分析

1.1 數學實驗課程定位認識不足

我國的大學教育模式一直存在著重理論輕實踐的問題,特別在數學課程方面,往往強調學生在理論基礎方面打下扎實基礎,對數學實踐和應用能力的培養沒有和理論教學環節處于同等重要的地位。導致學生學習了數學課程后往往不知道如何應用于專業課程,理論與實際嚴重脫節。根據數學學科的特點,大量的事實說明,開設數學實驗課,是彌補上述缺陷的有效途徑。開設數學實驗課,不單純是一門具體的課的問題,而是教育教學理念的轉變和教學方式的改革的重大問題。

1.2 課程模式缺乏一致性

開設數學實驗課,從起步到現在,已經有了10年以上時間,如中國石油大學在2000年前后就已經嘗試在大學數學教學中融入數學實驗的內容,并編寫出版了教材[2],也取得了一定的效果,但是,由于教育觀念和管理層的認識局限,沒有很好的堅持下來。當前,雖然不少高校已經編寫了一些適用于不同層次大學教學使用的數學實驗教材,對課程的內容和形式進行了有益的探索。但總體來說,在數學實驗課的性質和準確定位、各種不同開課模式,數學實驗課的任務和教學基本要求、教學內容和教學方法、課程考核,以及數學實驗與數學建模課程之間的關系等方面,目前還沒有完全形成共識[3]。

2 分層次構建數學實驗課程體系

2.1 構建數學實驗課程體系

根據我校實際情況,對于公共數學課程和數學專業課程分別構建數學實驗課程體系。為了涵蓋不同的專業特點和不同的年級需求,數學實驗的內容分層次進行組織教學。數學實驗課程體系主要由三大模塊構成:一是與數學專業理論課相配套的數學實驗課;二是與公共數學專業理論課相配套的數學實驗課;三是面向全校各類學生專門開設的綜合性數學實驗課,三大模塊分為三個層次實施。這三類實驗課所針對的學生、專業、實驗目的有較大的不同,因此,實驗內容、實驗課開設方法、成績考核都有一定的差異性。 這種針對大學數學課程群設計不同模塊和層次的數學實驗,使實驗內容更加優化,所構建的數學實驗課程體系如圖1所示。

2.2 實驗課程模塊

(1)數學專業類實驗模塊。通過計算機認識實習、數值實驗實習和軟件綜合實習夯實基礎,在數值計算方法、微分方程數值解、最優化方法和算法設計與分析等課程內中進行驗證性實驗和探索性學習,提高學生理論指導應用的能力。(2)公共數學實驗模塊。根據高等數學、線性代數和概率論與數理統計課程的實際情況,在一年級和二年級上學期開設與理論課程配套的獨立數學實驗,即高等數學實驗(I)、高等數學實驗(II)、線性代數實驗、概率論與數理統計實驗,其學分均為0.5學分。通過這些實驗使學生基本掌握Mathematica,Matlab,Excel以及SAS等功能強大的數學軟件。具體培養方案如表1。(3)綜合創新實驗模塊。與數學建模課程相配套的數學建模實驗,應設置為綜合性數學實驗,一般在第四學期開設。該課程采用問題驅動組織實驗教學活動,主要以各類數學建模題目為內容,以教師講授和學生討論相結合為形式,同時注重數學軟件與計算機編程的應用,全面熟悉和掌握數學建模的各個環節,培養學生在實際問題中的數學應用意識、訓練學生把科技、社會等領域中的實際問題按照既定的目標歸結為數學形式,以便于用數學方法求解,認識更深刻的規律和屬性,提高學生數學建模和分析問題解決問題的能力,充分調動學生學習數學和應用數學的積極性。

表1 公共數學實驗培養方案

實驗課程 高等數學實驗(I) 高等數學實驗(II) 線性代數實驗 概率論與數理統計實驗

學期 第一

學期 第二

學期 第二、三學期 第二、三學期

形式 獨立

開設 獨立

開設 獨立開設 獨立開設

課程性質 必修 必修 選修 選修

課程類型 公共基礎課 公共基礎課 公共基礎課 公共基礎課

全國大學生數學建模競賽是對大學生數學基本理論的掌握和應用能力以及各數學實驗課程的一次綜合性檢驗,競賽題目都來自社會、經濟、工程等領域的熱點問題,并要求參賽者結合實際問題靈活運用數學、計算機技術及其他學科的知識,能充分發揮聰明才智和創新能力[4]。因此,許多參加過競賽的學生反映:“一次參賽,終生受益”,他們在后繼專業課學習和課題研究中的綜合能力明顯提高。國家大學生創新性實驗計劃項目是本科學生個人或創新團隊,在導師的指導下,自主選題設計、獨立組織實施并進行信息分析處理和撰寫總結報告等工作,以培養學生提出問題、分析和解決問題的興趣和能力的項目。由于數學建模競賽只有3 d,所考慮的問題難以有效展開,因此該項目是對數學建模競賽的有益補充,能有充分的時間思考問題,給出切實可行的解決方案。

畢業設計是教學過程的最后階段采用的一種總結性的實踐教學環節。通過畢業設計,能使學生綜合應用所學的各種理論知識和技能,進行全面、系統、嚴格的技術及基本能力的練習。

由于全國大學生數學建模競賽和國家大學生創新性實驗計劃項目只是針對少數學有余力的學生,主要培優與示范,不具有普遍性。而畢業設計是針對全體學生的實踐教學活動,通過綜合運用已有知識獨立解決實際問題,提高學生對社會工作的適應能力和駕馭能力。

2.3 各類實驗所占比例

各類課程的實驗模式有所不同,大體上,幫助學習和理解數學概念的基礎性試驗占30%左右;自主設計、綜合性及創新實驗占40%;數學建模實驗、大學生創新實驗占30%。

3 數學實驗課程教學模式

數學實驗的教學模式應以學生為主體,將問題作為載體,學習方法作為手段,計算機及其軟件作為工具,在教師指導下通過學生自己動手完成指定的實驗課程,使學生于模擬的科學研究環境中了解和掌握解決實際問題的全過程[7]。采用“1+1+1”教學模式組織教學,即理論講授、實際問題應用和上機實現三個步驟,時間安排大體相同。

(1)理論講授:由教師講解實驗中所涉及相關的數學原理及其相應的數值計算方法。

(2)實際問題應用:由教師講解該數學原理在實際問題中的具體應用,組織學生分組討論對該問題的數學模型,利用所學的數學理論和方法逐步建立與實際問題相匹配的模型,并設計求解方案和算法。

(3)上機實驗:在教師的指導下,利用數學軟件或通過C++編程求出模型的解析解或數值解,并對所求解進行分析驗證,最后寫出實驗報告。

4 結語

通過數學實驗課程體系建設,對于幫助學生理解數學理論,激發學生的好奇心和學生學習數學興趣,培養學生自覺主動學習的習慣和獨立思維創新能力,培養學生綜合應用數學解決實際問題的意識和能力,掌握常用的數學軟件及軟件的使用能力起到了極大促進作用。由于數學實驗是個新事物,在數學實驗課程體系建立和改革上,還有很長的路。

今后要鼓勵教師把科研中的部分內容簡化,轉化為綜合性數學實驗鍛煉學生,加大在社會中具體應用。

參考文獻

[1] 張序萍,韓曉峰,呂亞男.煤炭院校大學數學實驗教學體系研究[J].煤炭技術,2011,30(11).

[2] 費祥歷,同小軍,白占兵,等.高等數學實驗[M].東營:石油大學出版社,2000.

篇8

關鍵詞 數學建模課程教學 數模競賽 創新能力培養 改革舉措 

中圖分類號:G642 文獻標識碼:A DOI:10.16400/j.cnki.kjdkz.2015.05.015 

Exploration and Practice of Mathematical Modeling Activities 

in the Innovation Educational Background 

WANG Wenfa[1], WU Zhongyuan[2], XU Chun[1] 

([1] College of Mathematics and Computer Science, Yan'an University, Yan'an, Shaanxi 716000; 

[2] Office of Academic Affairs, Yan'an University, Yan'an, Shaanxi 716000) 

Abstract Under the innovative education based on university personnel training requirements and problems of traditional mathematics education, the importance of mathematical modeling of students' innovative ability to Yan'an University, for example, according to "sub-level, sub-module" model of teaching and organization contest guidance, teaching and assessment in accordance with academic competitions, math majors and computer majors, two contests with a thesis project and Daiso, boutique website and digital-analog Association and second class "four convergence" approach to student innovation and innovative ability, and made remarkable achievements in personnel training, curriculum development, team building, professional building. 

Key words mathematical modeling teaching; mathematical modeling contest; innovative ability training; reform measures 

高等學校的大學生是國家科技發展的主力軍,大學生的創新能力決定著國家未來的科技創新能力。數學建模課程教學與競賽的廣泛開展對高等學校大學生的創新能力培養具有十分重要的作用。如何在數學建模課程教學與實踐中,既能增強大學生的數學應用意識,又能提高大學生運用數學知識和計算機技術分析和解決問題的能力,從而達到提高大學生綜合素質和創新能力的目的,這個問題是近年來眾多高校關注的問題。延安大學作為一所地方高校,在近幾年數學建模課程教學與實踐過程中,進行了一系列卓有成效的探索和改革,學生的創新意識和創新能力得到大幅度提升。 

1 更新教育理念,充分認識數學建模對學生綜合素質和創新能力培養的重要性 

數學作為一門基礎學科,它涉及的領域相當廣泛,如經濟、計算機及軟件、管理、國防等,雖然數學在高校教育教學中的地位不斷提高,人們對其認識也不斷加深。但是,人們對數學類課程、數學學科在創新型人才培養中的重要性仍認識不夠深入,在教學內容、教學方法、教學手段、評價措施等諸多方面,仍然沿用傳統數學類課程的教學模式和思維方式,導致高校人才培養與創新教育背景下的人才培養需求完全脫節。正如著名的數學家王梓坤院士所說“今天的數學科學兼有科學和技術兩種品質,數學科學是授人以能力的技術。”面向21世紀,高等教育在高度信息化的時代培養具有創新能力的高科技技術人才,數學作為一門技術,現已成為一門普遍實施的技術,也是未來高素質人才必須具備的一門技術。因此,在數學建模課程教學與實踐過程中,必須轉變傳統數學類課程的教育教學理念,不能將其簡單地當作工具和方法,而要將其當作是一門技術,而且是一門普遍適用的高新技術,在保證打牢基礎的同時,力求培養學生的應用意識與應用能力、創新意識與創新能力,真正實現培養高素質創新人才的目的。 

2 數學建模課程教學的改革與實踐 

2.1 分層次、分模塊實施數學建模課程教學和競賽指導 

一是在數學建模專業課、專業選修課、公共選修課教學中按照知識點及教師研究方向,將課程內容分為兩個層次九個模塊。第一層次包括數學軟件、初等模型、優化模型、數學規劃模型、微分方程模型等五個模塊;第二層次包括離散模型、概率模型、統計回歸模型、數值計算與算法設計等四個模塊。第一層次針對公共選修課教學,第一層次+第二層次針對專業課和專業選修課教學。具體措施是:由數學建模課程教學團隊集體制定課程教學大綱和實施計劃,每位教師按照課程教學大綱和實施計劃主講自己所從事的方向模塊,在保證課程教學內容完整性和系統性的同時,根據學生知識層次,充分發揮每位教師專業優勢,有效地提升了課程教學質量;二是在大學數學課程教學中,按知識點將數學建模思想融入其中,在激發學生學習數學興趣的同時,強化學生的數學應用能力培養;三是在校內數學建模競賽中,按照“建模知識+專題講座+模擬+競賽”的模式組織校內建模競賽,主要以數學建模的基本思路、基本方法、基本技能為內容,使學生對數學建模有更加深入的感知和認識,在激發學生學習數學興趣和積極性的同時,培養學生的科研意識和創新意識;四是在全國數學建模競賽中,按照“集訓+軟件應用+舊題新做+模擬選拔+強化訓練”的模式組織全國建模競賽,主要以培養學生的洞察力、聯想力、創新能力、團隊協作精神和吃苦精神為內容,使學生的創新意識、團隊協作精神得到良好培養。 2.2 建立數學建模精品課程網站,為數學建模愛好者搭建學習交流平臺 

網站將數學建模課程教學與數模競賽有機地融合,為學生全方位了解、學習和掌握數學建模的相關知識、相關技能開辟第二條通道。網站包括:課程介紹【課程描述、教學內容、教學大綱、建設規劃】、教學團隊【整體情況、課程負責人、主講教師】、教學資源【教學安排、多媒體課件、授課錄像、電子教案、課程作業、課程習題、模擬試卷、參考資源】、實驗教學【實驗任務、實驗大綱、實驗指導、課程設計、實驗作品、實驗報告】、教學研究【教學方法、教學改革、教學課題、教學論文、學生評教】、教學成果【教學成果獎、獲教學獎項、人才培養成果、教材建設】、在線學習【在線交流、在線自測】、成績考核【平時成績、作業成績、實驗成績】、下載專區【教學軟件、常用工具】、數模協會【協會簡介、協會章程、通知公告、新聞動態、競賽獲獎、優秀論文、往屆賽題、模擬賽題、校內競賽、新手入門】等,這些內容幾乎囊括了數學建模教育教學活動的所有內容,學生可以通過網絡資料學習就可以全面了解數學建模的相關知識與技能。 

2.3 專業相互融合,取長補短,充分發揮學生各自專業優勢 

數學與計算機科學學院現有數學與應用數學、信息與計算科學、計算機科學與技術、軟件工程四個專業,其中兩個為數學類專業、兩個為計算機類專業。在課程教學中針對兩專業的長處和不足,按照專業結隊子、學生結隊子的模式組織教學和小組討論,強化計算機類專業學生的數學應用能力培養,強化數學類專業學生的計算機軟件應用能力培養;在競賽組隊中,每隊均配備至少1名計算機類專業學生和1名數學類專業學生。充分發揮各自的優勢,取長補短,使學生的綜合能力得到提升。 

2.4 延伸數學建模競賽效能,不斷提高學生的創新能力 

每年全國大學生數學建模競賽和校內數學建模競賽試題都是從實際生活中提取出的實際問題。因此,指導教師在指導學生畢業論文(設計)和大學生創新訓練項目時,從往屆賽題或模擬試題中選擇一些題目,將其進行適當的延伸作為學生畢業論文(設計)和大學生創新訓練項目選題。通過這一方式,進一步培養學生的創新思維和創新意識,為學生今后從事科學研究奠定了堅實的基礎。 

3 數學建模課程教學改革取得的成效 

3.1 我校全國大學生數學建模競賽成績居全省同類院校前列 

我校參加全國大學生數學建模競賽共獲得國家一等獎4項、國家二等獎6項、陜西省一等獎33項、二等獎71項,4次被評為優秀組織獎,1名指導教師獲陜西省數學建模競賽陜西賽區優秀指導教師,600多名學生參與大創項目,公開發表科研論文30余篇,學生的就業率和就業質量得到明顯提高。該賽事因此也成為了延安大學學科競賽品牌和亮點。 

3.2 我校數學建模教育獲得多項教學成果獎、質量工程項目及教改項目 

教學成果獎:“理工類大學生數學素質與創新能力培養的研究與實踐”榮獲2009年陜西省教學成果二等獎;“地方性院校開展數學建模教學的實踐與探索” 榮獲2003年延安大學教學成果一等獎;“計算機專業高素質應用型人才培養模式的改革與實踐” 榮獲2012年延安大學教學成果一等獎;“厚基礎、重實踐、強化工程素質和創新的人才培養模式的研究與實踐”榮獲2011年延安大學教學成果二等獎;“數學建模課程改革及數學建模競賽的研究與實踐”榮獲2007年延安大學教學成果二等獎。 

質量工程項目:“數學與應用數學專業”為2010年省級特色專業;“數學建模教學團隊”為2011年省級教學團隊;“數學建模精品課程”為2012年校級精品課程;2014年“數學建模”課程獲批為省級精品資源共享課程;2014年“數學與應用數學”專業獲批為省級專業綜合試點項目。 

教改項目:“大學生數學應用能力創新能力培養的改革與實踐”為2009年省級重點教改項目;“地方高校青年教師教學能力提升途徑的研究與實踐”為2013年省級重點;“青年教師教學能力提升的研究與實踐”為2011年校級重點;“計算機相關專業校企合作人才培養模式改革的研究與實踐”為2013年校級重點。 

3.3 依托數學建模教育平臺,推動指導教師教學科研能力和綜合素質提升 

數學建模教育不僅提高了學生的創新能力,同時也為指導教師的教學、科研及綜合素質的提升起到了推動作用。數學建模課程是一門面向全校理、工、經、管、教各學科專業大學生開設的理論與實踐相結合的基礎課程,主要以學生的洞察能力、創新能力、數學語言翻譯能力、抽象能力、文字表達能力、綜合分析能力、思辨能力、使用當代科技最新成果的能力、計算機編程能力、數學軟件應用能力、團隊協作精神和組織協調能力等綜合素質培養為目標,以數學建模課程教學、數學建模競賽、第二課堂、畢業論文(設計)、大學生創新訓練項目等為手段,通過“分層次、分模塊、四融合”的教學模式的有效實施,在提高我校學生解決在理、工、經、管、教等學科專業領域遇到的數學建模問題的能力的同時,為我校高素質、應用型人才培養做出貢獻。 

基金項目:2013 “地方高校青年教師教學能力提升途徑的研究與實踐”(項目編號:13BZ37);2014年陜西本科高等學校“精品資源共享課程建設”項目“數學建模”課程建設階段性成果 

參考文獻 

篇9

關鍵詞:優化設計;精品課程;教學內容;教學手段;教學方法;網絡教學環境

中圖分類號:G642.3 文獻標志碼:A 文章編號:1674-9324(2013)03-0004-03

優化設計是工程設計中重要的科學設計方法。它將最優化原理與計算機技術應用于設計領域的科學設計方法,已經在各個行業得到廣泛的應用[1]。優化設計理論研究和應用實踐的不斷發展,使傳統設計方法發生了根本的變革,從經驗、感性和類比為主的傳統設計方法過渡到科學、理性和立足于計算分析的現代設計方法,工程設計正在逐步向自動化、集成化和智能化方向發展[2]。國內大多數機械類、工程類本科專業中,大都開設了優化設計課程,學習優化設計的理論和方法,培養分析和解決優化設計問題的初步能力,為將來從事工程設計工作打下一定基礎。為了提高“優化設計”課程的教學質量和水平,昆明理工大學把“優化設計”課程列為校級精品課程進行建設。本文從教學內容、教學手段、教學方法、網絡教學環境、教材建設與選用、師資隊伍建設、實驗教學改革等方面作討論。

一、優化設計課程的特點

優化設計課程的特點是將“基本設計方法”與“優化設計思想”緊密結合,著重介紹優化設計的基本概念、基本原理和基本方法,學習優化設計方法的實用程序和應用,使學生在學習“優化設計方法”的同時,也能夠在計算機上得到實際應用的訓練,進而培養他們的創新能力和科學思維方法。通過優化設計課程的學習,使學生掌握優化設計的基本概念和基本知識,掌握常用優化方法的基本原理和計算方法,熟悉常用工程軟件的優化分析和計算的功能,了解優化設計在工程設計方面的應用。所以,學生應達到下列四個基本要求,一是樹立工程優化設計和優化決策的思想;二是掌握優化設計的基本概念、基本知識和常用方法;三是了解常用工程軟件進行優化分析和計算的功能;四是具有解決工程設計中一般優化設計問題的能力。

二、教學內容改革

優化設計課程的教學內容,應根據專業培養方案,從專業特點和實際需要出發,對教學內容進行精選和組織,突出“基”、“精”、“新”。“基”是圍繞本課程的基本知識和基本理論;“精”是突出重點和難點,精講重點內容,講清各知識點間的相互聯系;“新”是緊跟國內外相關研究前沿,適時補充新內容、新趨勢、新方法,了解和掌握最新研究發展動態,與前沿課題交叉、與工程實際交叉,突出應用,聯系工程實際及其發展。圍繞以上原則,把優化設計課程的教學內容劃分為四大部分進行教學。

1.基礎篇。主要教學內容為優化設計的基本概念、數學模型和數學基礎。(1)優化設計的基本概念。了解傳統設計與優化設計的區別;了解設計參數和設計變量的概念;熟悉目標函數的概念和表達形式。(2)優化設計的數學模型。熟悉優化設計數學模型的一般形式;分析優化設計數學模型的建立方法。優化設計的數學模型是優化設計問題的數學表達形式,它反映了優化設計問題中各個主要因素之間的內在聯系。(3)優化設計的數學基礎。優化設計的幾何意義,多維函數的方向導數等。

2.應用篇。通過優化設計的具體應用實例,來幫助學生理解、體驗優化設計的基本知識和各種優化方法應用,主要教學內容可結合專業特點進行選擇,具體應用實例既包括典型的、具有代表性的應用實例,也提供體現專業特點、結合專業的優化設計應用實例。作為典型的、具有代表性的應用實例大多選擇機械優化設計實例。因為,以優化設計理論為基礎,以計算機為工具,將優化設計方法用于機械設計中,形成了機械優化設計,成為優化設計的典型代表和重要內容。機械優化設計是機械現代設計方法中的重要方法之一。在國內大多數機械類本科專業中,大都開設了機械優化設計課程,為將來從事機械設計工作打下一定基礎。甚至有很多機械類碩士研究生培養方案中也開設有機械優化設計課程,進行更深入的理論學習。具有代表性的機械優化設計實例教學內容可選擇連桿機構的優化設計、鏈傳動優化設計、齒輪傳動優化設計、螺栓組聯接的優化設計、彈簧結構參數多目標優化等。體現專業特點、結合專業的優化設計應用實例可提供機械制造工藝中的優化設計,各種專用機械的優化設計,例如,化工機械優化設計、農業機械優化設計等,還有工程設施、工程管理中的優化設計等。

3.高級應用篇。近年快速發展起來的計算機輔助設計和計算機輔助分析中,引入優化設計方法,形成優化設計方法與計算機輔助設計相結合的先進設計方法,是現代設計方法的一個重要發展趨勢,對提高產品設計水平,縮短設計周期,使設計過程自動化和智能化具有重要意義。這部分內容的教學目的是拓展學生視野、引導和啟發學生,為工程設計高級應用奠定基礎,其內容可選擇介紹MATLAB軟件的優化函數及應用實例,三維設計軟件PRO/E的建模和優化分析實例,ADAMS軟件中的機構優化應用實例,計算機輔助分析軟件ANSYS中的優化應用實例等。

三、教學手段改革

由于優化設計課程的特點,造成教師教學和學生學習會存在一定困難,優化設計課程大部分講授內容在于各種基本優化算法,理論性強,涉及數學知識多,又比較抽象;學生難免會感覺枯燥乏味、不直觀、難理解。教師講解也十分費力,教師難以把握學生對不同優化算法執行的想象情況,不知道學生是否對各種優化方法真正理解透徹。另一方面,學生缺乏實際工程設計經驗,甚至對傳統設計流程都不熟悉,設計體驗不多,學生不能直觀地、實時地看到不同設計變量條件下,產品的設計指標的變化情況,甚至連簡單的外觀形狀尺寸的變化都難以直觀看到,更不要說深一步的力學性能、運動學性能、動力學性能以及功能等的變化了,所以,很難體驗到優化設計的優越性。因此,優化設計課程的教學手段值得關注和改進,對于優化方法教學手段的改進,采用基于Matlab軟件開發的優化設計輔助教學軟件,通過教學軟件,學生可以根據建立好的數學模型選擇合適的優化算法,可以保存程序文件中的所有變量計算結果,以便作數據對比或觀察優化過程中迭代變化規律。可以進行優化計算的數值迭代,并且可以得到優化結果。在優化計算完成之后,可以對優化計算的迭代程序流程圖、程序代碼和計算過程中迭代數據的變化規律進行觀測,這樣有助于學生領會各種優化算法的優化原理,以及從迭代計算中數據的變化觀察優化算法的特點和計算規律。對于學生缺乏實際工程設計經驗,很難體驗到優化設計的優越性,可通過使用優化設計方法與計算機輔助設計相結合的先進設計分析軟件來做一些典型優化設計的實例,例如,使用PRO/E進行三維建模,使用ADAMS進行運動學、動力學分析,使用ANSYS進行力學、動態性能的優化分析,這些軟件都具有可視化、直觀形象的特點,并有強大的分析功能。通過軟件的優化模塊,可方便地分析已有模型經過優化后的特性參數曲線的變化、迭代次數以及實物模型尺寸等參數的變化過程。

八、實驗教學改革

通常,優化設計課程實驗學時偏少,因此,需針對不同專業和不同學時數的教學要求,對實驗教學內容進行適當的取舍和精選,但需保證實驗目標的實現,實驗的基本目標是要求學生結合所學的一維搜索優化方法、多維搜索優化方法和無約束優化方法的基本原理、迭代過程和程序框圖,選擇自己熟練掌握的計算機語言(采用VB、VC語言),完成一維搜索優化方法程序,多維搜索優化方法程序和無約束優化方法程序的編制,并上機調試和運行,學生應根據實驗得出的數據,評價數學模型,比較各種優化方法的計算結果,初步對工程設計問題進行優化設計計算。通過實驗,加深對優化設計方法的基本理論和算法步驟的理解;培養學生獨立編制、調試計算機程序的能力和靈活運用優化設計方法解決工程實際問題的能力。優化設計課程實驗教學改革一方面是對基礎性實驗的實驗教學內容進行精選和組織,使學生深刻掌握和理解優化設計的基本知識、基本理論、基本方法和基本應用;另一方面則是對綜合性、設計性實驗的開設積極進行探索。目前實驗教學中設置的實驗類型,就其教學內容層次而言,可分為基礎性實驗和提高性實驗兩大類。從實驗的教學功能來看,可分為驗證性實驗、演示性實驗、綜合性實驗、設計性實驗和研究探索性實驗[5]。驗證性實驗、演示性實驗屬于傳統的基礎性實驗,實驗內容、實驗步驟和實驗方法一般較固定,通常是驗證某一基本理論、基本方法的基本訓練。這類實驗對學生理解優化設計方法的基本理論和算法步驟,無疑是重要的和必需的,但如果在實驗教學中占的比重過大,不利于學生的個性發展,不利于學生的綜合素質和創新能力的培養。因此,優化設計課程還需要積極研究綜合性實驗、設計性實驗的開設,以達到能力和素質的綜合培養。

“優化設計”課程培養學生樹立工程優化設計和優化決策的思想,培養學生的工程設計能力,使學生掌握科學的設計方法,是許多工科本科專業普遍開設的一門課程。結合“優化設計”課程的特點和精品課程建設要求,從教學內容、教學手段、教學方法、網絡教學環境、教材建設與選用、師資隊伍建設、實驗教學改革等方面進行精品課程建設。推進精品課程的建設,對提高“優化設計”課程的教學質量和水平具有重要意義。

參考文獻:

[1]孫全穎,賴一楠,白清順.機械優化設計[M].哈爾濱:哈爾濱工業大學出版社,2007.

[2]郭仁生,蘇君,盧洪勝.優化設計應用[M].北京:電子工業出版社,2003.

[3]李旻,黃平.機械優化設計課程案例教學的研究與實踐[J].機械工程師,2011,(8):18-19.

[4]王巧稚,曹高飛,趙宏賢,等.“互動式”精品課程網絡教學平臺的構建和應用研究[J].中國校外教育,2011,(8):98.

[5]姜龍生.淺談綜合性、設計性實驗的研發和開設[J].赤峰學院學報,2011,(6):217-218.

篇10

關鍵詞 經濟活動 預測模型 人工神經網絡

經濟活動諸如商品價格走勢、生產活動的產量預測、加工的投入產出分析、工廠的成本控制等方面都是重要的技術經濟層面。定量化的經濟活動分析是經濟學研究的必由之路,而建模是量化分析的基礎,這是因為模型為科學分析和質量、成本等控制提供了理論依據。本文針對經濟活動中大多數研究對象都具有的非線性特點,給出了用人工神經網絡(Artificial Nerve Network)模型建立經濟活動的預測模型的原理和方法,并描述了神經網絡與各種先進的建模方法相結合的模型化方法,為經濟活動的分析、預測與控制提供了理論基礎。

1 神經網絡模型方法

現實的經濟系統是一個極其復雜的非線性系統,客觀上要求建立非線性模型。傳統上使用回歸與自回歸模型刻畫的都是線性關系,難于精確反映因變量的變化規律,也終將影響模型的擬合及預報效果。為揭示隱含于歷史記錄中的復雜非線性關系必須借助更先進的方法———人工神經網絡(ANN)方法。

人工神經網絡具有并行處理、自適應、自組織、聯想記憶及源于神經元激活函數的壓扁特性的容錯和魯棒性等特點。數學上已經證明,神經網絡可以逼近所有函數,這意味著神經網絡能逼近那些刻畫了樣本數據規律的函數,且所考慮的系統表現的函數形式越復雜,神經網絡這種特性的作用就越明顯。

在各類神經網絡模型中,BP(Back-Propagation誤差后向傳播)神經網絡模型是最常用的也是最成熟的模型之一。本質上,BP模型是對樣本集進行建模,即建立對應關系RmRn,xk∈Rm,ykRn。數學上,就是一個通過函數逼近擬合曲線/曲面的方法,并將之轉化為一個非線性優化問題來求解。

對BP神經網絡模型,一般選用三層非循環網絡。假設每層有N個處理單元,通常選取連續可微的非線性作用函數如Sigmoid函數f(x)=1/(1+e-x),訓練集包括M個樣本模式{(xk,yk)}。對第P個訓練樣本(P=1,2,…,M),單元j的輸入總和記為apj,輸出記為Opj,則:

apj=WQ

Opj=f(apj)=1/(1+e-apj)

(1)

對每個輸入模式P,網絡輸出與期望輸出(dpj)間誤差為:

E=Ep=((dpj-Opj)2)

(2)

取BP網絡的權值修正式:

Wji(t+1)=Wji(t)+?濁?啄pj+?琢(Wji(t)-Wji(t-1))

(3)

其中,對應輸出單元?啄pj=f’,(apj)(dpj-Opj);對應輸入單元?啄pj=f’,(apj)?啄pkWkj;

?濁是為加快網絡收斂速度而取值足夠大又不致產生振蕩的常數;?琢為一常數項,稱為趨勢因子,它決定上一次學習權值對本次權值的影響。

BP學習算法的步驟:初始化網絡及學習參數;提供訓練模式并訓練網絡直到滿足學習要求;前向傳播過程, 對給定訓練模式輸入,計算網絡的輸出模式,并與期望比較,如有誤差,則執行下一步,否則返回第二步;后向傳播過程,計算同一層單元的誤差?啄pj, 按權值公式(3)修正權值; 返回權值計算公式(3)。BP網絡的學習一般均需多周期迭代,直至網絡輸出與期望輸出間總體的均方根誤差ERMS達到一定要求方結束。

實踐中,BP網絡可能遇到如下問題:局部極小點問題;迭代收斂性及收斂速度引起低效率問題。此外還有,模型的逼近性質差;模型的學習誤差大,記憶能力不強;與線性時序模型一樣,模型網絡結構及節點作用函數不易確定;難以解決應用問題的實例規模與網絡規模之間的矛盾等。為克服這樣的一些問題,同時為了更好地面向實際問題的特殊性,出現了各種基于神經網絡模型或與之結合的模型創新方法。

2 灰色神經網絡模型

灰色預測和神經網絡一樣是近年來用于非線性時間序列預測的引人注目的方法,兩種方法在建模時都不需計算統計特征,且理論上可以適用于任何非線性時間序列的建模。灰色預測由于其模型特點,更合用于經濟活動中具有指數增長趨勢的問題,而對于其他變化趨勢,則可能擬合灰度較大,導致精度難于提高。

對于既有隨時間推移的增長趨勢,又有同一季節的相似波動性趨勢,且增長趨勢和波動性趨勢都呈現為一種復雜的非線性函數特性的一類現實問題,根據人工神經網絡具有較好的描述復雜非線性函數能力特點,用其對季節性建模;最后根據最優組合預測理論,建立了兼有GM(1,1)和ANN優點的最優組合預測模型。該模型能夠同時反映季節性時間序列的增長趨勢性和同季波動性的雙重特性,適用于一般具有季節性特點的經濟預測。

首先,建立GM(1,1)模型,設時間序列x(0)=(x(0)(1),x(0)(2),?撰,x(0)(n)),作一階累加生成:

x(1)=(x(1)(1),x(1)(2),?撰,x(1)(n))  (4)

其中x(1)(k)=(x(0)(i),k=1,2,?撰,n

構造一階線性灰色微分方程并得到該方程的白化微分方程:

+ax=u

用最小二乘法求解參數a,u,得到x(1)的灰色預測模型:

(1)(k+1)=(X(0)(1)-u/a)e-ak+u/a,(k=0,1,2,?撰)

(5)

其次,根據上節方法建立BP人工神經網絡模型。

第三,將兩模型優化組合。設f1是灰色預測值,f2是神經網絡預測值,fc是最優組合預測值,預測誤差分別為:e1,e2,ec,取w1和w2是相應的權系數,且w1+w2=1,有fc=w1f1+w2f2,則誤差及方差分別為ec=w1e1+w2e2,Var(ec)=w21Var(e1)+w22Var(e2)+2w1w2cov(e1,e2)

對方差公式求關于w1的極小值,并取cov(e1,e2)=0,即可得到組合預測權系數的值。

2 基于粗糙集理論的神經網絡模型

粗糙集理論與模糊集理論一樣是研究系統中知識不完全和不確定問題的方法。模糊集理論在利用隸屬函數表達不確定性時,為定義一個合適的隸屬函數,需要人工干預,因而有主觀性。而粗糙集理論由粗糙度表示知識的不完全程度,是通過表達知識不精確性的概念計算得到的,是客觀的,并不需要先驗知識。粗糙集通過定義信息熵并進而規定重要性判據以判斷某屬性的必要性、重要性或冗余性。

一般來說,BP神經網絡模型對模型輸入變量的選擇和網絡結構確定等都基本憑經驗或通過反復試驗確定,這種方法的盲目性會導致模型質量變差。用粗糙集理論指導,先對各種影響預測的因素變量進行識別,以此確定預測模型的輸入變量;再通過屬性約簡和屬性值約簡獲得推理規則集;然后以這些推理規則構造神經網絡預測模型,并采用加動量項的BP的學習算法對網絡進行優化。有效改善了模型特性,提高了模型質量。其建模步驟為:由歷史數據及其相關信息歷史數據構造決策表; 初始化; 對決策表的決策屬性變量按劃分值域為n個區域的方式離散化;采用基于斷點重要性的粗糙集離散化算法選擇條件屬性變量和斷點(分點),同時計算決策表相容度,當決策表相容度為1或不再增加時,則選擇條件屬性變量和分點過程結束;由選擇的條件屬性變量及其樣本離散化值構造新的決策表,并對其約簡,得到推理規則集;由推理規則集建立神經網絡模型; 對神經網絡進行訓練; 若神經網絡擬合誤差滿足要求,則結束, 否則,增加n。必須指出,區間分劃n太小,會使得擬合不夠,n太大,即輸出空間分得太細,會導致過多的區域對應,使網絡結構過于復雜,影響泛化(預測)能力。

3 小波神經網絡模型

人工神經網絡模型存在的網絡結構及節點函數不易確定問題,結合小波分析優良的數據擬合能力和神經網絡的自學習、自適應特性建模,即用非線性小波基取代通常的非線性S型函數。

設非線性時間序列變化函數f(t)∈L2(R),定義其小波變換為:

Wf(a,b)==f(t)?漬()dt

(6)

式中,?漬ab(t)稱為由母小波?漬t(定義為滿足一定條件的平方可積函數?漬(t)∈L2(R)如Haar小波、Morlet小波、樣條小波等)生成的依賴于參數a、b的連續小波,也稱小波基。參數a的變化不僅改變小波基的頻譜結構,還改變其窗口的大小和形狀。對于函數f(t),其局部結構的分辯可以通過調節參數a、b,即調節小波基窗口的大小和位置來實現。

用小波級數的有限項來逼近時序函數,即:

(t)=wk?漬()

(7)

式中(t),為時間序列y(t)的預測值序列;wk,bk,ak分別為權重系數,小波基的平移因子和伸縮因子;L為小波基的個數。參數wk,bk,ak采用最小均方誤差能量函數優化得到,L通過試算得到。

4 模糊神經網絡模型

模糊集合和模糊邏輯以人腦處理不精確信息的方法為基礎,而人工神經網絡是以大量簡單神經元的排列模擬人腦的生理結構。二者的融合既具有神經網絡強大的計算能力、容錯性和學習能力,又有對于不確定、不精確信息的處理能力,即同時具有底層的數據處理、學習能力和高層的推理、思考能力。

一種應用模糊理論的方法是把模糊聚類用來確定模糊系統的最優規則數,從而確定模糊神經網絡的結構。這樣確定的網絡結構成為四層:第一層為直接輸入層;第二層為模糊化層,對輸入做模糊化處理;第三層為模糊推理層,對前層模糊結果做模糊推理;第四層為非模糊化層,可以采用重心非模糊化法,產生網絡輸出。該網絡采用動態處理法,增強了其處理能力,且適用性強、精度高。

5 結語

除上述幾種結合式神經網絡方法之外,人工神經網絡模型在算法設計方面一直在取得巨大的進步。神經網絡模型方法是一種先進的具有智能的非線性建模方法,其在自然科學、經濟現象、社會活動等方面的應用正在不斷深化,把神經網絡方法引入經濟活動的分析和預測中,并緊密聯系諸多先進的建模方法,是使工業經濟、商業經濟及其對經濟本質規律的研究等各項工作推向前進的重要理論武器。

參考文獻