趙金玲, 徐 爾, 孫玉華
(北京科技大學(xué) 數(shù)理學(xué)院,北京100083)
2017年2月18日,教育部在復(fù)旦大學(xué)召開了高等工程教育發(fā)展戰(zhàn)略研討會,討論高校對新時期工程人才培養(yǎng),探討新工科的內(nèi)涵特征、新工科建設(shè)與發(fā)展路徑,形成了“復(fù)旦共識”,而后又相繼產(chǎn)生了“天大行動”和“北京指南”,并發(fā)布了《關(guān)于開展新工科研究與實踐的通知》和《關(guān)于推進(jìn)新工科研究與實踐項目的通知》,探索建立“新工科”建設(shè)的新理念、新標(biāo)準(zhǔn)、新模式、新方法、新技術(shù)、新文化.
運籌學(xué)作為一個應(yīng)用性和實踐性很強(qiáng)的數(shù)學(xué)分支,被廣泛應(yīng)用于經(jīng)濟(jì)管理、軍事、工程技術(shù)、社會生產(chǎn)和生活各個領(lǐng)域,因而,運籌學(xué)在許多高校被設(shè)置為數(shù)學(xué)類和管理類本科生的必修課,也是一些理工類本科生的通識課和大量理工科研究生的重要選修課.從課程理念來看,運籌學(xué)講求“運籌帷幄之中,決勝千里之外”,教學(xué)中在將優(yōu)化思想根植于學(xué)生的思維中,建立不斷尋優(yōu)創(chuàng)優(yōu)、追求優(yōu)而更優(yōu)的主動探索科學(xué)精神;從課程應(yīng)用來看,運籌學(xué)與數(shù)學(xué)、管理學(xué)、經(jīng)濟(jì)學(xué)、工程技術(shù)等多學(xué)科深度交叉融合,優(yōu)化技術(shù)亦在機(jī)器學(xué)習(xí)和數(shù)據(jù)科學(xué)中處于核心地位[1-2],這些特點決定了在“新工科”的背景下,運籌學(xué)課程設(shè)計模式理念和創(chuàng)新思維培養(yǎng)導(dǎo)向?qū)τ诶砉た迫瞬排囵B(yǎng)質(zhì)量的提升起著關(guān)鍵性的作用.
早在2006年,胡發(fā)勝等介紹了山東大學(xué)數(shù)學(xué)與系統(tǒng)科學(xué)學(xué)院在運籌學(xué)教學(xué)中以“掌握理論、強(qiáng)化應(yīng)用、突出能力”為課程培養(yǎng)目標(biāo)的改革與探索,通過精選案例、實踐教學(xué)、建模競賽、改革考核體系等方式加強(qiáng)學(xué)生能力培養(yǎng)[3];2019年,陳紅兵等探討了運籌學(xué)教學(xué)改革中的多元化教學(xué)模式和考核方式[4];同年,陳家焱等具體討論了以案例庫建設(shè)為載體的運籌學(xué)課程教學(xué)改革[5].鑒于運籌學(xué)是一門應(yīng)用極為廣泛的交叉學(xué)科,在課程教學(xué)中注重理論與實踐相結(jié)合,以應(yīng)用性案例為思維啟發(fā)點和實踐著陸點目前已得到廣泛認(rèn)可,許多文獻(xiàn)也進(jìn)行了這方面的探索.
運籌學(xué)不僅是數(shù)學(xué)類和管理類高年級本科生的必修課,也是工科研究生的一門重要選修課,以北京科技大學(xué)為例,每年約有300名理工科碩博士研究生修讀運籌學(xué)課程,其中95%以上是工科學(xué)生,而在“新工科”的背景下,對創(chuàng)新型工程人才的培養(yǎng)提出了更高的要求.近年來,《高等數(shù)學(xué)》等課程已形成了一系列關(guān)于創(chuàng)新意識培養(yǎng)的教學(xué)研究成果[6-8].《運籌學(xué)》作為一門應(yīng)用廣泛的課程,在模型建立和算法講解的過程中,設(shè)計適當(dāng)?shù)慕虒W(xué)情境,給學(xué)生充分的創(chuàng)造探索空間,讓學(xué)生深度參與,既有助于學(xué)生增進(jìn)對所學(xué)知識的理解,又有助于激發(fā)學(xué)生與課程思想內(nèi)涵之間的共鳴.基于以上想法,本文主要探討“新工科”背景下如何引導(dǎo)學(xué)生的運籌優(yōu)化思維,提升學(xué)生的創(chuàng)新思維質(zhì)量,以《運籌學(xué)》課程中教師引導(dǎo)的一次關(guān)于共軛梯度法的課堂討論為例,嘗試和探索通過問題驅(qū)動、激發(fā)頭腦風(fēng)暴來提升學(xué)生的優(yōu)化創(chuàng)新意識和數(shù)學(xué)思維質(zhì)量.案例中以學(xué)生為主體、由教師引導(dǎo)和激發(fā)學(xué)生創(chuàng)造力的創(chuàng)新性討論模式更有利于學(xué)生在頭腦中把相關(guān)知識“調(diào)動”起來,創(chuàng)造性地解決問題和進(jìn)行理性分析.更為重要的是,這樣讓學(xué)生參與討論、提出想法并分析解決問題的過程能夠大大增強(qiáng)課程對于學(xué)生創(chuàng)新思維和科學(xué)精神的培養(yǎng)和塑造,強(qiáng)化了課程的育人效能.這一模式對于數(shù)學(xué)類和管理類《運籌學(xué)》教學(xué)以及其它類似交叉學(xué)科課程教學(xué)也有著較大的借鑒意義.
《運籌學(xué)》課堂教學(xué)改革,重在優(yōu)化思維和創(chuàng)新意識的培養(yǎng),可針對適當(dāng)?shù)膬?nèi)容,引導(dǎo)學(xué)生發(fā)現(xiàn)問題,層層遞進(jìn)分析解決問題,激發(fā)頭腦風(fēng)暴展開討論,審視方法追求優(yōu)而益優(yōu),從而達(dá)到將運籌優(yōu)化思想根植于學(xué)生頭腦和激發(fā)創(chuàng)新思維的目的.下面以一次關(guān)于共軛梯度法的課堂討論為例來說明.
首先引導(dǎo)學(xué)生發(fā)現(xiàn)以前所學(xué)方法的缺點和存在的問題.根據(jù)《運籌學(xué)》課程內(nèi)容安排,在講授共軛梯度法之前,已學(xué)習(xí)了求無約束優(yōu)化問題minf(x)的最速下降法,其迭代步為:
x(k+1)=x(k)-λk?f(x(k)),
其中λk為一維搜索步長.最速下降法采用當(dāng)前迭代點xk處的負(fù)梯度方向-?f(x(k))作為搜索方向,負(fù)梯度方向為該點處函數(shù)值下降最快的方向,故而稱為“最速下降方向”.

圖1 最速下降法迭代中的鋸齒現(xiàn)象
不難發(fā)現(xiàn),由于鋸齒現(xiàn)象,最速下降法當(dāng)?shù)c接近極小點時,收斂速度顯著變慢,這就引發(fā)了對于新的搜索方向的探索.那么怎樣的搜索方向才更好呢?
定義1[9-10]設(shè)Q∈n×n是對稱正定矩陣,若一組非零向量p(1),p(2),…,p(m)∈n滿足:對?i,j=1,…,m,i≠j,都有(p(i))TQp(j)=0成立,則稱p(1),p(2),…,p(m)相互Q共軛,也稱為Q正交.
從定義可見,Q共軛是通常意義下正交性的推廣,當(dāng)Q為單位陣,則為通常的正交.不難證明,Q共軛的一組向量必線性無關(guān).
定理1[9-10]設(shè)Q∈n×n是對稱正定矩陣,p(1),p(2),…,p(n)相互Q共軛,則從任意一點x(1)出發(fā),依次以p(1),p(2),…,p(n)為搜索方向的下述算法
x(k+1)=x(k)+λkp(k),

該定理中的算法實為共軛方向法,其中的精確一維搜索步長λk,對于定理中目標(biāo)函數(shù)
是二次函數(shù)的情況,可通過公式
計算而得,與上節(jié)所講最速下降法的步長計算類似.定理中所指出的共軛方向法經(jīng)過至多n次迭代即可獲得二次函數(shù)的極小點的性質(zhì),稱為“二次終止性”,即,共軛方向法具有二次終止性.
至此,從算法收斂速度來看,共軛方向法具有更好的效率.那么,最為關(guān)鍵的就是,如何獲得一組共軛方向呢?


圖2 正交與Q共軛
引導(dǎo)學(xué)生了解共軛方向在求解目標(biāo)函數(shù)極小點中的重要性,并明確了共軛方向與對稱正定矩陣Q聯(lián)系密切之后,一個問題自然而然地產(chǎn)生了:該如何求得或生成一組共軛向量呢?展開課堂討論,一名同學(xué)提出:是否可以映射到與Q有關(guān)的另一個空間來找方向?這為大家提供了一個思路.于是,已具備線性代數(shù)基礎(chǔ)的同學(xué)們經(jīng)過探討得到了如下辦法:由于矩陣Q對稱正定,可將之分解為Q=MTM,利用Q共軛定義
(p(i))TMTMp(j)=(Mp(i))TMp(j)=0,
這說明p(i)和p(j)經(jīng)線性變換后所得向量Mp(i)與Mp(j)正交,因此在n空間中可令
Mp(1)=e1,Mp(2)=e2, …,Mp(n)=en,
進(jìn)而可解得
p(1)=M-1e1,p(2)=M-1e2, …,p(n)=M-1en,
e1=(1,0,…,0)T,e2=(0,1,…,0)T, …,en=(0,0,…,1)T,
又因Q對稱正定,知M可逆.由定理1,依次采用這組方向進(jìn)行精確一維搜索,即可經(jīng)至多n次迭代收斂于
的最優(yōu)解.進(jìn)一步,有一些矩陣分析或計算方法基礎(chǔ)的同學(xué)甚至明確指出,可以利用Cholesky分解[11]等方法來得到矩陣M,而且M是上三角陣,很方便計算p(1),p(2),…,p(n),編寫程序也很容易實現(xiàn).
至此,老師很欣慰于學(xué)生們積極探索的態(tài)度和熱烈討論的氛圍,大家能夠基于已學(xué)知識,通過討論自主發(fā)現(xiàn)一種生成共軛方向的方案,這無疑是非常值得鼓勵的.同時,老師也在同步思考這一方法的可行性和計算效率.

然后,老師提出第二個問題:這一方案的可拓展性如何?如果優(yōu)化問題的目標(biāo)函數(shù)不再是正定二次函數(shù),沒有明確的矩陣Q,還能否類似地得到搜索方向?這時,同學(xué)們發(fā)現(xiàn),剛才所得到的求共軛方向p(1),p(2),…,p(n)的方法是基于矩陣Q的分解,不易推廣到一般非線性函數(shù)的優(yōu)化問題,因為一般非線性函數(shù)的Hessian矩陣不是常數(shù)矩陣.
老師所提出的兩個問題,引導(dǎo)學(xué)生去思考和審視一種方法的計算效率和可拓展性,這正體現(xiàn)了運籌學(xué)教學(xué)中需傳遞給學(xué)生的不斷優(yōu)化算法、追求優(yōu)而更優(yōu)的思維方式和理念.有了上述準(zhǔn)備,接下來水到渠成地引入利用迭代方式來生成Q共軛方向的共軛梯度法:
x(k+1)=x(k)+λkp(k),
p(k)=-g(k)+βk-1p(k-1)(k>1),p(1)=-g(1).
為簡便,此處以g(k)記目標(biāo)函數(shù)在xk處的梯度,即g(k)∶=?f(x(k))),λk為一維搜索步長.
共軛梯度法中,采用g(k)與上一次迭代中搜索方向p(k-1)的線性組合來構(gòu)造共軛方向,運用了負(fù)梯度方向的同時,也充分利用了前次搜索方向的信息.當(dāng)目標(biāo)函數(shù)是正定二次函數(shù)
時,參數(shù)
可以證明,由該方法中的迭代p(k)=-g(k)+βk-1p(k-1)(k>1),p(1)=-g(1)所產(chǎn)生的方向p(1),p(2),…,p(n)是Q共軛的,且精確一維搜索搜索步長
注意到上述βk-1的計算式中含有Q,如欲推廣到目標(biāo)函數(shù)更一般的情形,需公式中不再含有Q.由于
g(k)=Qx(k)+b,g(k-1)=Qx(k-1)+b,
故而,有
g(k)-g(k-1)=Q(x(k)-x(k-1))=λk-1Qp(k-1),

這便是著名的Hestenes-Stiefel公式(Hestenes et al.,1952).這樣就將共軛梯度法推廣到了目標(biāo)函數(shù)是一般非線性函數(shù)的情形.當(dāng)然,此時步長λk應(yīng)采用一維搜索技術(shù)來計算.
注意到采用精確一維搜索時有(g(k))Tp(k-1)=0,則上式可化為
該公式被稱為共軛下降公式(Fletcher,1987).
若對分子和分母進(jìn)行變化,則不同的組合可演變出不同的βk-1的選取方式,對應(yīng)著不同的非線性共軛梯度法,著名的βk-1的選取方法有如下四種[4]:

分別稱為Fletcher-Reeves公式、Polak-Ribiére-Polyak公式、Hestenes-Stiefel公式(前面已提到過)和Dai-Yuan公式.此外,若沿用共軛下降公式中的分母,還可以得到
即Liu-Storey公式.
以上公式的推導(dǎo)并不困難,事實上,由精確一維搜索可知,(g(k))Tp(k-1)=0,又注意到
p(k)=-g(k)+βk-1p(k-1),
不難知道
-(p(k))Tg(k)=(g(k))Tg(k)=‖g(k)‖2,
此外,還可以證明得到(g(k))Tg(k-1)=0,從而,以Hestenes-Stiefel公式為基礎(chǔ),對分子和分母進(jìn)行不同的演變,即可得到上述公式.
此刻,學(xué)生很自然會想到一個問題:這么多公式都是為了計算共軛梯度法中的βk-1,這樣來回轉(zhuǎn)化有什么意義呢?其實不難發(fā)現(xiàn),當(dāng)目標(biāo)函數(shù)是二次函數(shù)的時候,上述公式是等價的,但它們對于一般的非線性目標(biāo)函數(shù)并不互相等價,從而對應(yīng)的是不同的共軛梯度法.而且,在算法執(zhí)行的過程中會受到計算中誤差累積的影響,故而往往存在“等價不等效”的現(xiàn)象.上個世紀(jì)后半葉,近50年的時間里,人們對于各種共軛梯度法收斂性和收斂速度的討論可謂是一場思維盛宴,精彩紛呈,建議學(xué)生拓展閱讀文獻(xiàn)[10,12].
至此已看出,共軛梯度法的拓展性優(yōu)于最初學(xué)生討論所得的方法,而且,由于共軛方向是由迭代點處負(fù)梯度方向與前一次搜索方向的線性組合,連同βk-1的計算,其中只需向量乘法與加法運算,大大降低了計算復(fù)雜度.

圖3 共軛梯度法迭代過程

圖4 教學(xué)效果評價
該課堂討論案例中,教師針對學(xué)生所提出的有價值的問題、想法和關(guān)切點,激發(fā)頭腦風(fēng)暴,引導(dǎo)大家討論解決問題,并得到了一種新的方法,進(jìn)一步帶領(lǐng)學(xué)生進(jìn)行算法優(yōu)劣的比較,最后因勢利導(dǎo)地回歸授課內(nèi)容中的共軛梯度迭代方法.雖然學(xué)生所得到的方法具有局限性,但學(xué)會審視方法的優(yōu)劣也非常重要,這樣以學(xué)生為主體的學(xué)習(xí)討論可讓學(xué)生對共軛梯度法理解更深刻,討論過程也有利于學(xué)生優(yōu)化意識和創(chuàng)新思維的培養(yǎng).
在課程評價中,學(xué)生對于這樣的討論形式也是頗為肯定,表示“更能激發(fā)求知欲”,“對科研思路很有幫助”,“不僅有了科學(xué)的規(guī)劃手段,還形成了合理的思維方式”,課程滿意度達(dá)到99%,其余1%為基本滿意,不滿意為0.還有學(xué)生建議增加關(guān)于應(yīng)用案例、建模、算法實現(xiàn)等的討論.在此基礎(chǔ)上,作者主講的理工類研究生《運籌學(xué)》課程獲北京科技大學(xué)第九屆“研究生教育獎”.
本文結(jié)合《運籌學(xué)》教學(xué)中的一個課堂討論案例進(jìn)行了關(guān)于如何培養(yǎng)學(xué)生創(chuàng)新思維和激發(fā)尋優(yōu)創(chuàng)優(yōu)意識的探析.案例中,學(xué)生通過參與討論帶著興趣主動地完成了一次運籌方法構(gòu)造的訓(xùn)練,對于其提升數(shù)學(xué)思維質(zhì)量和創(chuàng)造性思維大有助益.運籌學(xué)旨在培養(yǎng)學(xué)生建立系統(tǒng)思維,掌握定性與定量分析相結(jié)合的數(shù)學(xué)建模方法,運用優(yōu)化技術(shù)手段求解,進(jìn)而作出決策和指導(dǎo)實踐的能力.正所謂“運籌帷幄之中,決勝千里之外”,運籌學(xué)教學(xué)目標(biāo)不僅是讓學(xué)生掌握建模方法和求解算法,而是在教學(xué)理念中將引導(dǎo)學(xué)生的優(yōu)化思想和追求優(yōu)而更優(yōu)的思維方式貫穿于始終,從知識層面上升到思想層面,激發(fā)創(chuàng)造性思維和自主探索新方法和新技術(shù)的科學(xué)創(chuàng)新潛質(zhì);與此同時,也把運籌學(xué)的思維方式作為載體,將不斷追求卓越和超越自我的價值理念深扎學(xué)生心中,達(dá)到潤物無聲的課程思政育人效果.本文是為更好地達(dá)成這一教學(xué)目標(biāo)的課堂實踐探索和教學(xué)思考.
此外,有成效的課堂討論對于教師而言也是教學(xué)相長的實際體驗,并且對教師提出了更高的要求,需要對線性代數(shù)、矩陣分解理論和數(shù)值計算等均有相當(dāng)?shù)闹R儲備,才能予以有針對性的引導(dǎo)和反饋.故而,欲將學(xué)生自主創(chuàng)新討論融入課堂,高素質(zhì)的運籌學(xué)課程教學(xué)團(tuán)隊建設(shè)也勢在必行,可定期組織教學(xué)研討,從而提高整個團(tuán)隊的育人質(zhì)量.
致謝作者對參考文獻(xiàn)給予本文的重要啟示以及審稿專家對本文修改所提出的寶貴意見和建議致以由衷的感謝.