李明奇, 杜鴻飛
(電子科技大學(xué)數(shù)學(xué)科學(xué)學(xué)院,四川成都610054)
隨著計(jì)算機(jī)仿真技術(shù)的發(fā)展,很多實(shí)驗(yàn)和設(shè)計(jì)可以通過計(jì)算機(jī)仿真實(shí)現(xiàn). 利用計(jì)算機(jī)仿真技術(shù)進(jìn)行實(shí)驗(yàn),可使學(xué)生獲得感性知識,經(jīng)歷從實(shí)踐到理論的認(rèn)知過程. Matlab軟件在基礎(chǔ)課程的仿真教學(xué)實(shí)踐中,常??梢詮浹a(bǔ)常規(guī)實(shí)驗(yàn)方法中實(shí)驗(yàn)成本高、實(shí)驗(yàn)環(huán)境要求高,實(shí)驗(yàn)效率較低等諸多缺陷. 如何將傳統(tǒng)的純理論推導(dǎo)與計(jì)算機(jī)仿真結(jié)合起來,提高學(xué)生的編程能力和創(chuàng)新思維能力,越來越受到各課程一線教師的重視[1,2].
本文以函數(shù)最優(yōu)解為教學(xué)設(shè)計(jì)內(nèi)容,探討如何通過對相同問題進(jìn)行不同層面的Matlab模擬仿真,展示函數(shù)的性質(zhì), 促進(jìn)學(xué)生對優(yōu)化問題求解方法的深入思考. 通過各個(gè)不同角度展現(xiàn)函數(shù)的圖形特征,加深學(xué)生對所研究問題求解過程的理解和求解方法的掌握,增強(qiáng)直觀性改善教學(xué)效果.
函數(shù)極值點(diǎn)的分布是許多最優(yōu)化問題中的關(guān)鍵問題. 因此,函數(shù)的圖形特征描述是微積分、微分方程、最優(yōu)化等課程中的重要內(nèi)容[3-5]. 下面,以二元函數(shù)
u(x,y)=x2+y2-cos3πx-cos4πy+x+y+1
(1)
為例,尋找其極值點(diǎn)的分布規(guī)律. 根據(jù)函數(shù)極值點(diǎn)的駐點(diǎn)特征知,函數(shù)u(x,y)的兩個(gè)偏導(dǎo)等于零,于是
(2)
直接求解方程組(2)不容易. 為此,可以用Matlab作其三維曲面圖(如圖1),通過圖形尋找極值分布規(guī)律. 從圖1看出,函數(shù)u(x,y)具有無窮的極值點(diǎn),且曲面具有波動(dòng)性. 如果需要在給定的范圍內(nèi)尋找函數(shù)的最大值,那么從圖1就可以觀察到其最大值點(diǎn)的大概分布位置. 據(jù)此,可以通過設(shè)計(jì)算法,快速收斂到我們需要的最值點(diǎn),避免由于算法設(shè)計(jì)的局限性收斂到某個(gè)局部的極大值點(diǎn).
圖1 函數(shù)u(x,y)的曲面
通過圖1可以看出極值點(diǎn)所處的范圍. 然而,要通過圖1給函數(shù)u(x,y)極值點(diǎn)定位還是不行的. 為此,可以換一個(gè)角度,從等高線圖的分布進(jìn)行研究. 函數(shù)u(x,y)的二維等高線分布和顏色分布顯示函數(shù)值的分布特征,如圖2. 以此,可以對極值點(diǎn)進(jìn)行更準(zhǔn)確的定位.
圖2 函數(shù)u(x,y)的二維等高線圖
為了進(jìn)一步了解函數(shù)值的趨勢,可以引入羽箭圖,箭頭方向指示函數(shù)值增大的方向,如圖3. 圖3更清楚地顯示的等高線數(shù)值和羽箭可以非常直觀顯示函數(shù)值隨自變量的變化趨勢. 同時(shí),圖3顯示了極值點(diǎn)的位置信息,為其坐標(biāo)的估計(jì)提供參考. 函數(shù)u(x,y)的三維等高曲線圖如圖4,其中的封閉曲線都是等高線.
圖3 函數(shù)u(x,y)的二維等高線與梯度圖
圖4 函數(shù)u(x,y)的三維等高線圖
通過圖1至圖4對函數(shù)u(x,y)從四個(gè)不同角度演示,學(xué)生可以感受到直觀和抽象的過程. 三維圖1符合視覺習(xí)慣最容易理解. 雖然等高線圖2是二維圖形比較抽象,但是其位置信息非常明確,定位性好. 圖3不僅可以定位,而且表明了函數(shù)的確切趨勢,其信息量比圖2豐富. 圖4給出了函數(shù)在空間中等高線,以了解函數(shù)值的空間分布.
市場上還有許多其他最優(yōu)化軟件,如Lindo和Lingo等. 這些軟件是工程設(shè)計(jì)和教學(xué)訓(xùn)練中的基本工具,是否能夠熟練地掌握這些應(yīng)用軟件將影響到其他專業(yè)課的學(xué)習(xí)和潛力發(fā)揮.
雖然本文所選例子不是非常復(fù)雜,但通過該部分內(nèi)容的課程設(shè)計(jì),一方面可以讓學(xué)生體會到準(zhǔn)確找到我們需要的曲面上的最值點(diǎn)需要進(jìn)行認(rèn)真的有效的分析. 另一方面,可以培養(yǎng)學(xué)生對未知問題的分析能力,加強(qiáng)學(xué)生的動(dòng)手能力的培養(yǎng),提升學(xué)生的編程仿真能力. 事實(shí)上,學(xué)生只有在充分了解所討論問題的性質(zhì)和有一定的計(jì)算機(jī)編程基礎(chǔ)的情況下才能根據(jù)問題本身的特點(diǎn)設(shè)計(jì)相應(yīng)的高效搜索算法. 可視化的結(jié)果在引起學(xué)生好奇心的同時(shí),展現(xiàn)了所研究問題的許多細(xì)節(jié),也有助于學(xué)生興趣的培養(yǎng).
[參 考 文 獻(xiàn)]
[1] 郭美榮,侴愛輝,夏德宏,等. 可視化教學(xué)法在實(shí)驗(yàn)教學(xué)中的應(yīng)用[J]. 實(shí)驗(yàn)室研究與探索, 2012, 31(11): 128-130.
[2] 郝興偉,龍世立,鞏裕偉. 基于網(wǎng)絡(luò)的計(jì)算機(jī)基礎(chǔ)教學(xué)過程管理研究與實(shí)踐[J]. 中國大學(xué)教學(xué), 2010 (3):49-51.
[3] Nocedal J, Wright S J . Numerical Optimization[M]. Berlin:Spring-Verlag Press,1999.
[4] 博南J F, 夏皮羅A.最優(yōu)化問題的擾動(dòng)分析[M].張立衛(wèi)譯.北京:科學(xué)出版社,2000.
[5] Boyd S, Vandenberghe L. Convex Optimization[M]. London:Cambridge University Press, 1999.