王廣民
(中國地質(zhì)大學(xué) 經(jīng)濟管理學(xué)院,湖北 武漢 430074)
基于優(yōu)化軟件LINGO的運籌學(xué)案例實踐教學(xué)研究
王廣民
(中國地質(zhì)大學(xué) 經(jīng)濟管理學(xué)院,湖北 武漢 430074)
運籌學(xué)是經(jīng)濟管理類本科生的一門骨干課程,但是教學(xué)過程中重理論輕實踐的現(xiàn)象造成了學(xué)生對運籌學(xué)的學(xué)習(xí)積極性不高。因此,我們在運籌學(xué)教學(xué)中引入運籌學(xué)優(yōu)化軟件LINGO,不僅重視運籌學(xué)的基礎(chǔ)理論教學(xué),而且能夠?qū)⒗碚撝R點融入到案例中,幫助學(xué)生應(yīng)用LINGO軟件解決實踐問題。而且課程案例報告又可以幫助學(xué)生學(xué)習(xí)如何解決實際問題,從而讓學(xué)生在鞏固理論知識的同時培養(yǎng)他們的實踐能力。最終,案例實踐教學(xué)改革能夠提高經(jīng)濟管理類學(xué)生學(xué)習(xí)運籌學(xué)的興趣,加強教學(xué)效果,達到解決運籌學(xué)教學(xué)過程中亟待解決的理論與實踐相脫離的問題。
運籌學(xué);LINGO;案例實踐教學(xué)
運籌學(xué)是一門新興交叉學(xué)科,起源于20世紀(jì)三四十年代,它主要研究人類如何運用各種資源,并進行各種籌劃活動,并在了解和發(fā)展他們的基本規(guī)律后,最大化有限資源的效益,實現(xiàn)總體最優(yōu)的目標(biāo)[1]。運籌學(xué)起源于軍事活動。隨著社會的發(fā)展,運籌學(xué)的各分支已經(jīng)應(yīng)用于各種經(jīng)濟活動和日常生活,在各個管理領(lǐng)域得到了深入的發(fā)展和應(yīng)用,可以輔助管理人員進行科學(xué)決策,進而實現(xiàn)管理的現(xiàn)代化。
運籌學(xué)具有理論與實踐相結(jié)合特征,是多學(xué)科交叉與融合的應(yīng)用科學(xué)。因此,運籌學(xué)課程具有運用定量化分析方法統(tǒng)籌安排有限資源的特點,因此需要進行分析、建模并求解模型等一系列過程來得到最優(yōu)決策。但是,在運籌學(xué)老師重理論輕實踐的教學(xué)過程中,很多學(xué)生將運籌學(xué)視為一門數(shù)學(xué)課程。因此,他們產(chǎn)生了畏懼心理,失去了學(xué)習(xí)興趣。于是,不少學(xué)生學(xué)完運籌學(xué)課程后,只留下了“運籌學(xué)理論高深、具體算法不能實現(xiàn)”的印象,一點都沒有認(rèn)識到運籌學(xué)在實際中的重要作用,更加難以在生活和工作中應(yīng)用運籌學(xué)來處理問題。實際上,運籌學(xué)的建模及應(yīng)用實驗是對運籌學(xué)課程中理論的練習(xí),是運籌教學(xué)的有益補充。只有通過案例分析和算法的實現(xiàn),學(xué)生才能更好地練習(xí)運籌學(xué)中的理論知識,鞏固課程中的知識點。因此,只有通過應(yīng)用案例的時間才能讓學(xué)生深入領(lǐng)會運籌學(xué)課程中的有關(guān)模型是如何建立的,算法是如何實施的,以及結(jié)果應(yīng)該如何分析。
因此,我們?yōu)榱颂岣哌\籌學(xué)的教學(xué)效果,在課程教學(xué)中引入案例教學(xué),并采用LINGO軟件來進行模型求解,從而為經(jīng)濟管理類學(xué)生打造理論結(jié)合實踐的平臺,幫助他們學(xué)會將運籌學(xué)應(yīng)用于經(jīng)濟、管理決策的實踐中,培養(yǎng)經(jīng)濟管理類學(xué)生學(xué)習(xí)運籌學(xué)的興趣,達到解決運籌學(xué)教學(xué)過程中亟待解決的理論與實踐相脫離的問題。
運籌學(xué)是經(jīng)濟管理類專業(yè)的平臺課程和核心課程之一,同時也是其他學(xué)科的重要基礎(chǔ)內(nèi)容之一,例如運籌學(xué)和經(jīng)濟學(xué)、數(shù)學(xué)、統(tǒng)計學(xué)、運籌學(xué)、計算機及管理學(xué)都是”管理信息系統(tǒng)”的學(xué)科內(nèi)容所涉及到的基礎(chǔ)課程[2]。運籌學(xué)的學(xué)習(xí)需要的先導(dǎo)課程有微積分、線性代數(shù)、概率論與數(shù)理統(tǒng)計等,這樣學(xué)生對運籌學(xué)就有一種錯覺,認(rèn)為運籌學(xué)像數(shù)學(xué)課程一樣僅僅是數(shù)學(xué)推理和證明。而且,經(jīng)濟管理類專業(yè)的學(xué)生大部分來自于文科生生源,數(shù)學(xué)基礎(chǔ)相對薄弱, 在數(shù)學(xué)的學(xué)習(xí)上存在一定的困難。因此,他們在開始學(xué)習(xí)運籌學(xué)課程時候就產(chǎn)生了畏難情緒,片面地認(rèn)為該課程是 枯燥無味的,晦澀難懂的,于是就失去了學(xué)習(xí)的積極主動性,甚至選擇了放棄,而只為了應(yīng)付考試[3]。
運籌學(xué)的內(nèi)容非常廣,主要內(nèi)容有:規(guī)劃論、庫存論、圖論、決策論、對策論、排隊論等,其中規(guī)劃論則包括線性規(guī)劃、非線性規(guī)劃、整數(shù)規(guī)劃和動態(tài)規(guī)劃[4]。運籌學(xué)的內(nèi)容繁多,每一個分支都可以作為一門學(xué)科來進行研究,然而在我們的課時安排中,運籌學(xué)的課時則僅有48個學(xué)時,相對教學(xué)時間較少。因此,在教學(xué)中,我們只能將主要精力放在基本理論和方法的教學(xué)上,在時間上難以保證教學(xué)活動中的實踐環(huán)節(jié),勢必影響運籌學(xué)的理論學(xué)習(xí)的效果[5]。后果就是,學(xué)生僅僅學(xué)習(xí)了理論,沒有辦法將理論應(yīng)用到實踐中,難以體會運籌學(xué)在經(jīng)濟管理中的實際應(yīng)用價值,不可避免地出現(xiàn)了理論學(xué)不牢, 實踐又不會的現(xiàn)象。而經(jīng)濟管理類專業(yè)對學(xué)生在專業(yè)培養(yǎng)上要求理論聯(lián)系實際,這就出現(xiàn)了實際課程教學(xué)與專業(yè)培養(yǎng)要求相互矛盾的局面。
為了破解這個矛盾,我們也嘗試采用案例來加深學(xué)生對理論的學(xué)習(xí),但是實際案例規(guī)模較大,課程計算量大且繁瑣。而經(jīng)濟管理專業(yè)的學(xué)生由于計算機編程能力不強,沒有辦法實現(xiàn)算法,更不能求解根據(jù)這些實際問題所建立的模型。這就嚴(yán)重影響了案例教學(xué)的效果,學(xué)生的學(xué)習(xí)興趣也不高。運籌學(xué)軟件對于編程技術(shù)要求很低,而且能夠很方便地求解大規(guī)模的問題,可以成為我們進行案例教學(xué)的有力工具。于是,我們在運籌學(xué)課堂教學(xué)中引入交互式的線性和通用優(yōu)化求解器(Linear Interactive and General Optimizer, LINGO)軟件[6],在課堂教學(xué)中不僅講解運籌學(xué)的理論和方法,而且結(jié)合運籌學(xué)的相關(guān)知識點對LINGO進行演示講解,介紹該軟件是如何求解運籌學(xué)模型的。這樣不但使得該課程教學(xué)更加輕松、生動,而且讓學(xué)生也體驗了運籌學(xué)知識在實踐中的應(yīng)用,增加了他們學(xué)習(xí)運籌學(xué)的樂趣,從而提高了運籌學(xué)課程的上課效果。
當(dāng)前,運籌學(xué)軟件有很多。美國LINDO系統(tǒng)公司開發(fā)的LINDO/LINGO,LINDO API 和What's the best是常用的運籌學(xué)軟件。數(shù)學(xué)軟件Matalab和Mathematica也是常用的運籌學(xué)軟件。CPLEX,GUROBI以及XPRESS是商業(yè)的工具包,但是對于學(xué)校都是有免費的許可。另外還有開源的軟件COIN-OR、LP_SOLVE和GLPK。SAS(Statistics Analysis System)是美國SAS軟件研究所研制的一套大型集成應(yīng)用軟件系統(tǒng),其中 SAS/OR(運籌學(xué)模塊)可以用來進行求解運籌學(xué)問題。OFFICE軟件EXCEL也具有求解運籌學(xué)問題的功能。GAMS、AIMMS、ILOG和AMPL是幾種優(yōu)化軟件集成平臺。除此之外,國內(nèi)學(xué)者也開發(fā)了幾款運籌學(xué)軟件,例如管理運籌學(xué)軟件3.0[7],運籌學(xué)軟件包[8],運籌學(xué)管理科學(xué)集成軟件包[9]。在所有的這些運籌學(xué)軟件中,LINGO因為其特點受到廣泛歡迎,例如,具有功能強大的建模語言,能夠建立和編輯問題,可以讀取和寫入EXCEL和數(shù)據(jù)庫,帶有一系列完全內(nèi)置的求解程序等[5]。
LINGO 可以建立和求解線性規(guī)劃、非線性規(guī)劃和整數(shù)規(guī)劃等數(shù)學(xué)模型,具有簡單的模型表示、方便的數(shù)據(jù)輸入和輸出選擇、強大的求解器以及交互式模型或創(chuàng)建Turn-key應(yīng)用程序等特點,主要包括Barrier、Non-linear、Global和Stochastic等四個功能模塊[10]。
下面我們用一個來自運籌學(xué)教材[11]的簡單運輸問題來舉例說明LINGO是如何建立模型以及進行模型求解的,并對求解結(jié)果進行解釋。例[11]:某公司經(jīng)銷甲產(chǎn)品。它下設(shè)三個加工廠。每日的產(chǎn)量分別為:A1——7噸,A2——4噸,A3——9噸。該公司把這些產(chǎn)品分別運往四個銷售點。各銷售點每日銷量分別為:B1——3噸,B2——6噸,B3——5噸,B4——6噸。從各個加工廠運送甲產(chǎn)品到每個銷售點的單位運價已知,如表1所示。問該公司應(yīng)如何調(diào)運甲產(chǎn)品,使得總運費為最少。
表1 運輸問題中甲產(chǎn)品的單位運價和產(chǎn)銷平衡表
這是一個產(chǎn)銷平衡的運輸問題,假設(shè)決策變量xij表示從加工廠Ai(i=1,2,3)到銷售點Bj(j=1,2,3,4)的運輸量,那么我們可以建立該運輸問題的數(shù)學(xué)模型:
其中,Cij表示從加工廠Ai(i=1,2,3)到銷售點Bj(j=1,2,3,4)的單位運價,ai(i=1,2,3)表示加工廠Ai的每日產(chǎn)量,bj(j=1,2,3,4)表示銷售點Bj的每日銷量。在運籌學(xué)教材中一般采用表上作業(yè)法來進行求解。這里我們介紹如何應(yīng)用LINGO來求解該運輸問題。同樣的模型在LINGO中建模,如下圖1所示:
圖1 運輸規(guī)劃模型在LINGO中的建模
圖2 LINGO軟件的求解報告
求解報告不僅給出了應(yīng)用LINGO計算得到的運輸問題的全局最優(yōu)解(并且在報告中詳細列出了該最優(yōu)解)及最優(yōu)目標(biāo)函數(shù)值是85;而且還給出了所有約束條件的松弛(剩余)變量和對偶價格。
以上實例盡管變量很少,但是學(xué)生應(yīng)用表上作業(yè)法進行求解時,計算工作量還是比較大的。因此,我們在講解運輸問題時,首先通過手工計算來對表上作業(yè)法進行理論教學(xué),然后在實踐教學(xué)中應(yīng)用LINGO軟件做求解模型的工具。學(xué)生可以在學(xué)習(xí)理論的基礎(chǔ)上,應(yīng)用軟件進行快速計算,從而可以復(fù)習(xí)并鞏固運輸問題的理論和方法。這樣不僅使學(xué)生從大量的計算中解脫出來,節(jié)約時間,提高教學(xué)效果,更能讓學(xué)生體驗運籌學(xué)在實際中的應(yīng)用,激發(fā)他們的學(xué)習(xí)興趣,鍛煉他們的實際動手能力。
為了提高運籌學(xué)的教學(xué)效果,我們總結(jié)了過去在運籌學(xué)教學(xué)過程中的經(jīng)驗和教訓(xùn),在整理運籌學(xué)案例的基礎(chǔ)上,采用運籌學(xué)軟件LINGO求解案例模型,實施了基于LINGO軟件的案例實踐教學(xué)改革,主要包括以下幾個方面。
1.課內(nèi)教學(xué)與課外上機相結(jié)合
運籌學(xué)幾乎所有章節(jié)都是關(guān)于數(shù)學(xué)模型及其算法。因此,課內(nèi)教學(xué)也會涉及到計算,老師需要借助運籌學(xué)軟件LINGO來輔助教學(xué),不僅可以直觀地演示計算的具體過程,而且可以快速求解[5]。在課內(nèi)結(jié)合理論教學(xué),老師教學(xué)生使用LINGO軟件。同時,作為密切結(jié)合實踐問題的一門學(xué)科,運籌學(xué)中的實踐問題的規(guī)模較大,計算量也很大。因此,課外的實踐學(xué)習(xí)更需要計算機軟件的上機實驗。老師指導(dǎo)學(xué)生進行上機實驗練習(xí)應(yīng)用運籌學(xué)軟件進行數(shù)學(xué)模型的求解,實現(xiàn)解決實踐問題的目的。
2.結(jié)合實際案例教學(xué)
為了加強課內(nèi)理論教學(xué)的效果,我們收集并整理了一些實際案例,這些案例可以很好地幫助學(xué)生練習(xí)課內(nèi)的知識點。在案例教學(xué)過程中,我們將學(xué)生分成小組,每組5-6人,由小組長協(xié)調(diào),小組成員共同思考、集體討論來完成建模以及借助優(yōu)化軟件LINGO進行模型求解,最后形成課程報告,并進行PPT答辯。老師則主要對過程進行監(jiān)督和指導(dǎo),幫助學(xué)生處理一些疑難問題,修改課程報告等,并指導(dǎo)他們充分發(fā)揮團隊合作能力,切實提高學(xué)生理論聯(lián)系實際的能力。
3.鼓勵學(xué)生參加科技活動
數(shù)學(xué)建模競賽中的許多問題會用到運籌學(xué)中的相關(guān)知識,因此我們經(jīng)常鼓勵學(xué)生參加各種數(shù)模競賽,這樣可以讓學(xué)生在競賽中鍛煉提高他們解決實際問題的能力,切實感受LINGO軟件的應(yīng)用,也可以讓學(xué)生檢查在學(xué)習(xí)運籌學(xué)理論與方法以及LINGO軟件中的不足。同時,學(xué)生在數(shù)模競賽中的成績也是檢驗運籌學(xué)教學(xué)效果的一種手段。高校中科研與教學(xué)歷來是緊密聯(lián)系的,教學(xué)是科研的基礎(chǔ),而科研又是教學(xué)的發(fā)展與提高。因此,我們還讓學(xué)生參與到老師的科研項目中,培養(yǎng)他們的科研能力,提升他們的科研素養(yǎng)。
在教學(xué)過程中,我們在課內(nèi)講授運籌學(xué)的基礎(chǔ)理論知識,根據(jù)知識點選用合適的案例來鍛煉學(xué)生的建模能力,引導(dǎo)學(xué)生應(yīng)用LINGO軟件解決運籌學(xué)中的實際問題,并用課程報告的形式來規(guī)范他們解決問題的步驟和方法,提升他們解決問題的能力。通過教學(xué)改革,我們希望能夠讓學(xué)生牢固掌握運籌學(xué)的基本理論和方法,讓他們學(xué)會應(yīng)用LINGO軟件解決實際問題,為經(jīng)濟管理類學(xué)生提供理論和實踐相結(jié)合有力工具。最終,我們希望能夠提高學(xué)生學(xué)習(xí)運籌學(xué)的興趣,培養(yǎng)實踐能力強的應(yīng)用型人才,滿足社會對經(jīng)濟管理類專業(yè)人才的需求。
[1] 中國運籌學(xué)會. 中國運籌學(xué)發(fā)展研究報告[J]. 運籌學(xué)學(xué)報,2012, 16(3): 1~48.
[2]王家聚.“管理信息系統(tǒng)” 課程教學(xué)的思索[J]. 集美大學(xué)學(xué)報, 2007, 8(2): 70~73.
[3]沈煒,文偉全. 運籌學(xué)課程實驗教學(xué)方法的探討[J]. 實驗室研究與探索, 2009, 28(8) : 135~137.
[4]何明華. 計算運籌學(xué)在經(jīng)濟管理領(lǐng)域的應(yīng)用[D]. 成都:電子科技大學(xué), 2007.
[5]石磊, 蔡定教. 關(guān)于運籌學(xué)課程教學(xué)改革的幾點思考[J]. 廣西教育學(xué)院學(xué)報, 2010, (106): 108~110.
[6]謝金星.優(yōu)化建模與LINDO/LING0 軟件[M].北京: 清華大學(xué)出版社, 2005.
[7]管理運籌學(xué)軟件3.0 . 韓伯棠.管理運籌學(xué)[M]. 北京: 高等教育出版社, 2005.
[8]運籌學(xué)軟件包. 上海理工大學(xué),朱自強,張昆(著作權(quán)證編號:2004SR02010). 2010.http://www.crsky.com/soft/66104.html.
[9]運籌學(xué)/管理科學(xué)集成軟件包. 上海理工大學(xué), 馬良.
[10]LingoUsersManual.http://www.lindo.com/downloads/PDF/LINGO.pdf.
[11]運籌學(xué)教材編寫組.運籌學(xué)(第4版)[M]. 北京: 清華大學(xué)出版社, 2013.
2095-4654(2016)12-0021-04
2016-10-21
G642
A