張玉蘭(南京鐵道職業技術學院 江蘇 南京 210015)
“蟻群算法”在高職數學教學中的滲透
張玉蘭
(南京鐵道職業技術學院 江蘇 南京 210015)
從高職數學教學內容、應用性例題、數學建模三個方面,對將蟻群算法滲透到高職數學教學中的途徑進行了初步研究,并提出了幾點想法和建議。
高職;數學教學;“蟻群算法”
生物學家經過大量細致的觀察研究發現:現實中,螞蟻個體之間是通過一種稱之為信息素的物質進行信息傳遞的。螞蟻在運動過程中,能夠在所經過的路徑上留下該物質,而且螞蟻在運動過程中能夠感知這種物質的存在及其強度,并以此指導自己的運動方向,螞蟻傾向于朝著信息素強度高的方向移動。因此,由大量螞蟻組成的集體行為便表現出一種信息正反饋現象:從某一路經走過的螞蟻越多,則后來者選擇該路經的概率就越大。螞蟻個體之間就是通過這種信息交流達到搜索食物的目的。“蟻群算法”就是通過模擬現實中的蟻群搜索食物的過程,實現求解比較困難的組合優化問題的目的。該方法是受到對真實蟻群行為研究的啟發而提出的,主要特點為:通過正反饋、分布式協作尋找最優路徑。其基本原理就是信息正反饋(如圖1所示)。圖中A是巢穴,E是食物源,H、C為障礙物(即螞蟻只能經由H或C由A到達E或由E到達A),d為兩點間距離,1為螞蟻經過后留下的信息素,假設初始時刻各路徑上都無信息素存在,則位于B和D的螞蟻可以隨機選擇路徑(從統計學的角度,初始時刻選擇路徑BCD和BHD的概率相同,都為50%),最終通過信息交換,螞蟻最終選擇BCD(此為巢穴到食物源的最短路徑)。

圖1 蟻群系統示意圖
1991年,意大利學者M.Dorigo等人首先提出了 “蟻群算法”。該算法作為一種啟發式仿生算法,在以下領域具有廣泛的應用:一是優化問題的求解;二是基于“蟻群算法”的交通過程建模及規劃問題求解;三是計算機領域;四是機器人設計及控制領域;五是電力系統應用領域;六是通信領域;七是化工領域;八是工程應用領域。廣義“蟻群算法”的基本步驟如下:(1)初始化信息素矩陣、螞蟻數目、循環次數;(2)確定搜索策略;(3)定義并計算轉移概率(主要與信息素量有關);(4)進行直接鄰域搜索;(5)修正信息素矩陣;(6)當所有螞蟻都完成一次移動后統計結果:若不滿足接受條件,取消本次迭代步驟(2)~(4)的結果,轉步驟(2);若連續多次迭代蟻群統計結果不變,則對蟻群進行擾動。可采取的擾動方法為擴大可見域、擴大鄰域搜索范圍;若既滿足接受條件,且循環次數小于規定的循環次數,則轉步驟(2);否則,輸出結果。
高職院校的教學目標是培養技能型、實用型人才。高等數學作為高職院校學生的一門基礎理論必修課,目的在于培養應用型人才“所必須具備的基本數學素質”。近年來,高職院校數學教學圍繞“以應用為目的,以必需、夠用為度”的原則,對教學內容、教學方法和教學手段等方面的改革進行了一定的探索和實踐,并初見成效。筆者擬結合“蟻群算法”,對高職數學教學改革做進一步研究。
基于“蟻群算法”的廣泛應用及對“蟻群算法”的研究日趨成熟,將其應用于高職數學教學中,不僅可以增加學生的數學知識面,而且可以提高學生的數學素質。
首先,應在高職數學的教學內容中融入“蟻群算法”。
近幾年,作為推動數學教學改革的突破口,大多數高職院校都嘗試著將數學建模的思想方法和知識內容融入數學課堂教學中,甚至開設數學建模課,指導學生參加全國大學生數學建模競賽。而“蟻群算法”在求解優化模型、規劃模型,特別是離散型的優化問題方面具有較強的優勢:一是通用性,即可用于求解同一類型的優化問題,從TSP問題到ATSP,只需作直接擴展即可;二是穩定性,即只需對其作很小的改動,就可將其用于求解其他組合優化問題,如二次分配問題和作業安排調度問題;三是群體性,即該算法允許采用正反饋座位搜索機制;四是并行性,即該算法適用于并行操作,在求解大規模的優化問題時,不僅可以從算法本身的優化出發提高求解效率,而且可以從算法的執行模式出發進行研究。因此,可以在高職數學的教學內容中融入“蟻群算法”,即在高職的數學教學內容里可加入“蟻群算法”這一知識點。
高職數學教學應有利于學生思維能力的培養,有利于后續專業課程的學習,有利于學生的可持續發展。根據這些特點,可將高職數學教學分為三個階段進行:(1)基礎性數學教學階段,主要教學內容是微分學、積分學;(2)應用性數學教學階段,主要教學內容可根據具體專業適當增設“蟻群算法”、概率統計、復變函數、線性代數等知識點,如自動控制、機車車輛等專業的學生可增設10課時的“蟻群算法”(只介紹原理、步驟及計算機如何實現)等等;(3)專業性數學教學階段,主要教學內容也是根據具體專業適當增設“蟻群算法”、傅立葉變換、圖論等知識點,“蟻群算法”的課時較應用性數學教學階段應適當增加,如計算機、通信等專業的學生可增設20課時的“蟻群算法”(除了基本的“蟻群算法”原理、步驟及計算機實現外,可增加一些改進的“蟻群算法”,如最大—最小螞蟻算法、多重“蟻群算法”)等等。
當然,在教學內容的選擇上,應堅持“以應用為目的,以必需、夠用為度”的原則,既要滿足人才培養的應用性(高職院校的特點),也要照顧學生的可持續發展,同時盡量保持本學科知識體系的系統性,這樣效果才會更好。
其次,可在某些應用性例題中滲透“蟻群算法”。
數學知識的應用是數學教學的一個重點內容之一,數學應用題就是考查學生應用數學知識解決簡單實際問題能力的基本方式,是最簡單的一類數學建模問題。針對優化問題,特別是離散型優化問題,可滲透“蟻群算法”,這樣既可讓學生了解“蟻群算法”的方法步驟,又可使學生體會數學在解決實際問題中的重要作用,同時有利于在教學中貫徹理論與實際相結合的原則,逐步培養提高學生分析問題、解決問題的能力。其基本步驟如下:
第一步:問題引入。即針對具體的知識點導入相應的現實問題,如對于微分或導數的應用性問題,可引入一些極值或最值的實際問題。
第二步:問題分析。對具體問題進行探究、分析,確定決策變量。
第三步:模型建立。根據前兩步,建立具體的數學模型(優化模型:LP模型、0-1模型等)。
第四步:問題求解。首先,用高等數學的相應知識進行求解;其次,使用“蟻群算法”進行求解(僅僅局限于用計算機演示結果)。
案例1:鐵路上AB段的距離為100km,工廠C距A處 20km,AC垂直于AB,為了運輸需要,要在AB線上選定一點D向工廠方向修筑一條公路,已知鐵路上每噸千米的貨運費用與公路上每噸千米的貨運費用之比為3∶5,為了使貨物從供應站B運到工廠C每噸貨運的總費用最省,問D點應選在何處?
解:先引入決策變量,設D點選擇在距離A處xkm的地方;再對問題進行分析,建立如下數學模型:·,x∈[0,100]最后用“蟻群算法”對此優化模型進行求解,得到如下最優結果:x=15km這與教材上提供的用微分法求解的結果一致。然后進行總結、歸納,從而可進一步鞏固第二章微分或導數這一知識點。
再次,應在高職數學建模中滲透“蟻群算法”。
數學的特點不僅在于概念的抽象性、邏輯的嚴密性、結論的明確性及體系的完整性,而且在于應用的廣泛性。經濟發展的全球化、計算機的迅猛發展、數學理論與方法的不斷擴充使得數學已經成為當代高科技的一個重要組成部分和思想庫,數學已成為一種能夠普遍實施的技術。培養學生應用數學的意識和能力已經成為數學教學的一個重要方面。在應用數學解決各類實際問題時,建立數學模型并能夠成功求解是十分關鍵的,同時也是十分困難的。

圖2 數學建模的全過程示意圖
近幾年,越來越多的高職院校開始開展數學建模活動(開設數學建模選修課、指導學生參加全國大學生數學建模競賽等活動),其全過程如圖2所示。其中,對于數學模型的解答,可以采用解方程、畫圖形、優化方法、數值計算、統計分析等各種數學方法,特別是數學軟件和計算機技術 (如MATLAB、LINGO、MAPLE、SPASS、SAS數學軟件和C語言等)。用“蟻群算法”進行數學模型(主要是優化模型和規劃模型)的求解越來越多地受到廣大學者的青睞。例如,2010年“高教杯全國大學生數學建模競賽”的D題——對學生宿舍設計方案的評價,完全可以先根據要求建立一個優化模型,然后采用“蟻群算法”進行求解(具體步驟同案例1)。
以上幾點只是對在高職數學教學中滲透“蟻群算法”的初步探討,還需要作進一步研究和實踐。隨著社會的進步和科技的發展,“蟻群算法”將會成為運用數學知識解決實際問題的重要工具之一(如用“蟻群算法”進行火車車輛調度、電力系統優化、故障分析等),也終將會越來越多地滲透到高職教育教學中。
[1]吳啟迪,汪鐳.智能“蟻群算法”及應用[M].上海:上海科技教育出版社,2004:9-21.
[2]詹耀輝.高職院校數學教學存在問題與開展數學建模教學的意義[J].遼寧教育行政學院學報,2007,24(8):120-122.
[3]黃開興.工科應用數學[M].北京:高等教育出版社,2008:56.
[4]徐美進,朱振廣,楊文杰.數學建模、數學實驗與工程數學課程教學改革[J].遼寧工學院學報,2007,9(5):129-131.
[5]姜啟源,謝金星,葉俊.數學模型[M].北京:高等教育出版社,2003:18.
[6]朱衛東.優化數學教學情境 培養學生創新意識[J].職業教育研究,2006,(2):63.
[7]劉忠東,羅節英,鄧志云.關于數學教育專業開設數學建模課程改革的思考[J].教育與職業,2007,(6):128.
(本文責任編輯:王恒)
G712
A
1672-5727(2011)10-0100-02
張玉蘭(1982—),女,江蘇鹽城人,碩士,南京鐵道職業技術學院講師,主要從事運籌學與控制論、高等數學、數學建模的教學與教改工作。