寧雪梅 趙玉英 岳瑞鋒
[摘 要]文章對(duì)北京林業(yè)大學(xué)數(shù)學(xué)專業(yè)運(yùn)籌學(xué)課程教學(xué)改革進(jìn)行了總結(jié),提出了在運(yùn)籌學(xué)課程教學(xué)中增設(shè)實(shí)踐教學(xué)環(huán)節(jié)的教學(xué)方法。實(shí)踐教學(xué)環(huán)節(jié)主要是以實(shí)際案例講授了Matlab程序的編寫,建立了案例庫(kù)。通過(guò)增設(shè)實(shí)踐教學(xué)環(huán)節(jié),讓學(xué)生親自上機(jī)實(shí)習(xí),使他們能多角度、多方法地解決實(shí)際問(wèn)題,既鞏固了理論知識(shí),又提高了分析解決問(wèn)題的能力,從而達(dá)到培養(yǎng)應(yīng)用型人才的目的。
[關(guān)鍵詞]運(yùn)籌學(xué);實(shí)際案例;Matlab;實(shí)踐教學(xué)
[中圖分類號(hào)] O22;G642 [文獻(xiàn)標(biāo)識(shí)碼] A [文章編號(hào)] 2095-3437(2020)10-0117-03
一、引言
運(yùn)籌學(xué)是一門應(yīng)用科學(xué),它廣泛應(yīng)用現(xiàn)有的科學(xué)技術(shù)知識(shí)和數(shù)學(xué)方法解決實(shí)際中提出的專門問(wèn)題,為決策者選擇最優(yōu)決策提供定量依據(jù)[1]。運(yùn)籌學(xué)涉及的每一個(gè)問(wèn)題都是從實(shí)踐中來(lái),通過(guò)分析實(shí)際問(wèn)題,建立相應(yīng)的模型,再通過(guò)對(duì)模型的研究,得到相應(yīng)的理論結(jié)果?!敖!边^(guò)程是“實(shí)踐—認(rèn)識(shí)—再實(shí)踐—再認(rèn)識(shí)”這樣一個(gè)循環(huán)往復(fù)、螺旋式提高的認(rèn)知過(guò)程,體現(xiàn)“從實(shí)踐中來(lái),到實(shí)踐中去”的實(shí)踐論思想,是培養(yǎng)學(xué)生“創(chuàng)新實(shí)踐能力”的載體[2]。對(duì)模型的正確建立和求解是運(yùn)籌學(xué)研究中的關(guān)鍵一步,是將實(shí)際問(wèn)題、經(jīng)驗(yàn)、科學(xué)方法三者有機(jī)結(jié)合的創(chuàng)造性的工作[3]。
北京林業(yè)大學(xué)數(shù)學(xué)專業(yè)開設(shè)的運(yùn)籌學(xué)課程是64學(xué)時(shí),選用的教材是刁在筠等主編、高等教育出版社出版的《運(yùn)籌學(xué)》[4]。受學(xué)時(shí)的限制,教師在講課時(shí)主要選講了線性規(guī)劃、整數(shù)規(guī)劃、非線性規(guī)劃、動(dòng)態(tài)規(guī)劃、圖與網(wǎng)絡(luò)流、決策分析、對(duì)策論。以前,數(shù)學(xué)專業(yè)運(yùn)籌學(xué)課程的教學(xué)主要是理論講解,沒(méi)有開設(shè)實(shí)驗(yàn)課。但運(yùn)籌學(xué)是一門應(yīng)用的學(xué)科,在運(yùn)籌學(xué)的教學(xué)過(guò)程中,不僅要講授理論知識(shí),還要鍛煉學(xué)生建立模型、分析模型、求解模型的能力。因此,從 2017年開始,北京林業(yè)大學(xué)在數(shù)學(xué)專業(yè)開設(shè)的運(yùn)籌學(xué)課程中增設(shè)了實(shí)踐教學(xué)環(huán)節(jié),主要是講授Matlab程序的編寫[5-6]。通過(guò)增設(shè)實(shí)踐教學(xué)環(huán)節(jié),讓學(xué)生親自上機(jī)實(shí)習(xí),使他們能多角度、多方法地解決實(shí)際問(wèn)題,既鞏固了理論知識(shí),又提高了分析解決問(wèn)題的能力。
二、運(yùn)籌學(xué)課程增設(shè)實(shí)踐教學(xué)環(huán)節(jié)的具體實(shí)踐
增設(shè)實(shí)踐教學(xué)環(huán)節(jié)的主要手段是開設(shè)實(shí)驗(yàn)課。實(shí)驗(yàn)課的主要內(nèi)容是根據(jù)實(shí)際問(wèn)題建立模型、分析模型,并借助計(jì)算機(jī)軟件求解模型。目前比較成熟的求解運(yùn)籌學(xué)模型的軟件有Matlab、Lingo、Lindo、WinQSB以及Excel。在教學(xué)實(shí)踐中,我們沒(méi)有單獨(dú)設(shè)立實(shí)驗(yàn)課,而是將實(shí)驗(yàn)課穿插在理論課里講解,主要是給學(xué)生介紹用Matlab軟件求解運(yùn)籌學(xué)模型,主要設(shè)計(jì)了線性規(guī)劃(單純形法)、整數(shù)規(guī)劃(分支定界法)、非線性規(guī)劃(0.618法、Newton法等)的實(shí)驗(yàn)課。對(duì)于非線性規(guī)劃問(wèn)題,在用Matlab軟件進(jìn)行求解時(shí)需要編程來(lái)實(shí)現(xiàn),這特別有助于學(xué)生理解相應(yīng)的算法。學(xué)生通過(guò)編寫程序,能夠很好地理解各種求解非線性規(guī)劃問(wèn)題的算法的主要思想,更好地體會(huì)算法的精髓。另外,在對(duì)非線性規(guī)劃問(wèn)題所涉及的算法進(jìn)行考核時(shí),我們發(fā)現(xiàn)這些算法不適合卷面考試,因?yàn)榻o定一個(gè)非線性規(guī)劃問(wèn)題讓學(xué)生手動(dòng)求解,步驟多、計(jì)算量大,容易出錯(cuò)。如果通過(guò)讓學(xué)生編寫程序來(lái)實(shí)現(xiàn),不僅能加深學(xué)生對(duì)算法的理解,還能提高學(xué)生借助計(jì)算機(jī)解決實(shí)際問(wèn)題的能力。
(一)實(shí)驗(yàn)課內(nèi)容
實(shí)踐教學(xué)環(huán)節(jié)主要采取課上講算法、課下實(shí)踐,然后再回到課上討論的形式。在每個(gè)章節(jié),教師講完各種算法之后,給出相應(yīng)模型的案例,要求學(xué)生自己分析問(wèn)題,建立模型,并編寫程序解決問(wèn)題,然后再回到課上運(yùn)行程序,對(duì)出現(xiàn)的問(wèn)題進(jìn)行討論,教師給予必要的指導(dǎo)。實(shí)驗(yàn)課的基本內(nèi)容如表1所示。
每個(gè)實(shí)驗(yàn)包括基礎(chǔ)練習(xí)和應(yīng)用實(shí)踐兩部分?;A(chǔ)練習(xí)部分在課內(nèi)完成,實(shí)踐部分在課外完成,上交實(shí)驗(yàn)作業(yè)。實(shí)驗(yàn)作業(yè)包括實(shí)驗(yàn)報(bào)告、程序源代碼(要求能夠運(yùn)行無(wú)誤),程序源代碼所用語(yǔ)言為Matlab。實(shí)驗(yàn)作業(yè)上交后,學(xué)生要在實(shí)驗(yàn)課上運(yùn)行程序源代碼,對(duì)出現(xiàn)的問(wèn)題進(jìn)行討論,任課教師給予必要的指導(dǎo)。另外,實(shí)驗(yàn)報(bào)告必須寫出詳細(xì)的建模步驟及對(duì)程序運(yùn)行結(jié)果的分析、決策。實(shí)驗(yàn)報(bào)告是期末考核的重要依據(jù),解決了非線性規(guī)劃問(wèn)題的算法不適合作為卷面考試的問(wèn)題,具體安排如下文所示。
實(shí)驗(yàn)1:線性規(guī)劃
實(shí)驗(yàn)?zāi)康模海?)熟悉Matlab的基本操作方法,掌握在Matlab環(huán)境下求解簡(jiǎn)單的線性規(guī)劃模型的方法。(2)掌握線性規(guī)劃模型解的情況。
實(shí)驗(yàn)2:整數(shù)規(guī)劃
實(shí)驗(yàn)?zāi)康模海?)掌握整數(shù)規(guī)劃的基本概念及數(shù)學(xué)模型。(2)掌握Matlab中操作函數(shù)的使用方法。
實(shí)驗(yàn)3:非線性規(guī)劃
實(shí)驗(yàn)?zāi)康模海?)掌握非線性規(guī)劃問(wèn)題的算法原理。(2)能夠熟練地用Matlab語(yǔ)言編寫各個(gè)算法(0.618法、Newton法)的程序。
實(shí)驗(yàn)4:綜合實(shí)驗(yàn)
實(shí)驗(yàn)?zāi)康模海?)對(duì)于實(shí)際案例,能夠分析建模。(2)根據(jù)所建立的模型,借助計(jì)算機(jī)軟件進(jìn)行求解。
(二)實(shí)驗(yàn)結(jié)果核驗(yàn)
實(shí)驗(yàn)結(jié)果核驗(yàn)是分組實(shí)現(xiàn)的。我們將數(shù)學(xué)系16級(jí)2個(gè)班的學(xué)生分成8個(gè)組,平均每個(gè)組6~7個(gè)成員。在實(shí)驗(yàn)課上,每個(gè)組指派一名成員來(lái)講解和運(yùn)行程序。
(三)實(shí)驗(yàn)案例
用分支定界法求解整數(shù)規(guī)劃:
(四)實(shí)驗(yàn)課的效果及反思
從實(shí)驗(yàn)案例我們可以看出,對(duì)于同一個(gè)模型,不同組別運(yùn)行的程序是不同的。通過(guò)相互交流,學(xué)生可以掌握Matlab在編程時(shí)的不同處理手段。在這個(gè)案例中我們也發(fā)現(xiàn)了一些問(wèn)題,例如,隨著計(jì)算機(jī)軟件不斷更新?lián)Q代,Matlab也在不斷更新軟件包,在Matlab2014及以上版本都可以用命令函數(shù)intlinprog直接求解整數(shù)規(guī)劃模型,此次8個(gè)組中有7個(gè)組提交的實(shí)驗(yàn)報(bào)告達(dá)不到實(shí)驗(yàn)的效果,所以在以后的實(shí)驗(yàn)課上我們應(yīng)該對(duì)學(xué)生提出明確的要求。
我們通過(guò)對(duì)數(shù)學(xué)專業(yè)運(yùn)籌學(xué)課程進(jìn)行改革,增設(shè)實(shí)驗(yàn)課,使學(xué)生掌握運(yùn)籌學(xué)各主要分支的模型、基本概念與理論、主要算法與應(yīng)用,并能夠在計(jì)算機(jī)上應(yīng)用Matlab軟件包熟練地操作解決一些實(shí)際應(yīng)用案例,切實(shí)提高學(xué)生動(dòng)手解決實(shí)際問(wèn)題的能力,從而為學(xué)生進(jìn)一步的學(xué)習(xí)打下堅(jiān)實(shí)的基礎(chǔ)。
三、總結(jié)
在運(yùn)籌學(xué)課程增設(shè)實(shí)踐教學(xué)環(huán)節(jié),增加實(shí)驗(yàn)課,能加深學(xué)生對(duì)理論知識(shí)的理解,讓學(xué)生自己參與到分析問(wèn)題、建立模型、求解模型到結(jié)果分析的整個(gè)過(guò)程中,從而培養(yǎng)學(xué)生解決實(shí)際問(wèn)題的能力,達(dá)到培養(yǎng)應(yīng)用型人才的教學(xué)目的。
[ 參 考 文 獻(xiàn) ]
[1] 《運(yùn)籌學(xué)》教材編寫組編.運(yùn)籌學(xué)[M].3版.北京:清華大學(xué)出版社,2005.
[2] 張杰,郭麗杰,周碩,等.運(yùn)籌學(xué)模型及其應(yīng)用[M].北京:清華大學(xué)出版社,2012.
[3] 李珍萍,等.管理運(yùn)籌學(xué)[M].北京:中國(guó)人民大學(xué)出版社,2011.
[4] 刁在筠,劉桂真,宿潔,等.運(yùn)籌學(xué)[M].3版.北京:高等教育出版社,2007.
[5] 卓金武,等.MATLAB 在數(shù)學(xué)建模中的應(yīng)用[M].2版.北京:北京航空航天大學(xué)出版社,2014.
[6] 余勝威.MATLAB 數(shù)學(xué)建模經(jīng)典案例實(shí)戰(zhàn)[M].北京:清華大學(xué)出版社,2015.
[責(zé)任編輯:龐丹丹]