張明 王文文
[摘要]本文首先分析了現有經管類運籌學教學的不足,探討了教學實踐中引入Matlab的必要性,通過教學實踐取得了良好的效果,不僅增加了運籌學學習的趣味性, 而且使學生能夠學以致用。同時也驗證了利用Matlab教學比傳統的教學法更有優勢,在實際教學中有些具體的指導意義。
[關鍵詞]運籌學Matlab教學
[中圖分類號]G642[文獻標識碼]A[文章編號]2095-3437(2012)07-0081-03
運籌學是20世紀新興的一門應用學科。它是通過建模、檢驗和求解數學模型等手段來獲得最優決策的一門學科。最初為了解決來自不同雷達站的信息以及雷達站同整個防空作戰系統的協調和配合問題, 尋找一個優化協調的方案,于是運籌學思想最早出現在軍事上。錢學森和徐國志等在上世紀50年代將運籌學引到中國。[1]結合我國發展的現狀,運籌學不但在理論和應用領域得到了發展,并在各個領域都發揮著舉足輕重的作用,比如人事管理、城市管理、生產管理等。1998年,教育部將《運籌學》課程正式列為經濟、管理專業的主干課程之一。
運籌學課程的主要特點是運用量化的分析方法對有限的資源進行統籌安排,其研究成果為決策者提供科學的依據。其理論和方法在社會科學、管理科學、工程技術等方面都有重要的應用,因此越來越多的專業的大學生和研究生開設了運籌學課程。但對于經管類專業學生而言,普遍存在一些問題,比如學生興趣不高、教學效果不好。[2]培養經管類學生學習運籌學的興趣,提高教學效果,并將其運用于管理決策的實踐中是當前教學中亟待解決的問題。[3]本文通過實例的方法介紹Matlab在運籌學教學中的應用。
一、Matlab教學的必要性
在經管類專業應用型人才培養的要求下,目前運籌學教學面臨著一些新的問題。應用型人才培養更加注重實踐能力的培養,也就是運用知識的能力。一方面由于運籌學傳統的教學模式只重視理論教學而忽視或者輕視實踐教學環節,導致了很多學生被抽象的數學符號所困擾;另一方面由于運籌學運算量大,并且在實踐環節教學投入的課時較少,進而誤導學生對實踐和應用能力培養的重視;于是學生對運籌學學習產生畏懼心理。
傳統運籌學課程教學采用的手段是板書,課堂效率低,信息容量小;如講解線性規劃對偶理論時,由于這一節理論推導過程較多,因而學生需要較長時間來理解吸收。但是隨著多媒體教學設備的普及,如今運籌學教學中又過度依賴多媒體設備。與傳統教學手段相比,雖然多媒體教學具有很多優點,比如信息量大、直觀便捷等等;但是用多媒體教學方式來講解推導運籌學理論推導的效果卻并不理想。主要是因為多媒體課件信息量大、且講解速度快,導致學生缺乏足夠的時間消化吸收,從而跟不上教師的講解思路。另外用多媒體課件講授時,教師與學生的友好互動效果也不理想,并容易使學生分散注意力,從而降低了教學效果。[4]
如今,傳統的運籌學教材仍然是以講述理論為主, 注重闡述完整的理論體系,并且強調運籌學理論的證明和推導,[5]另外該課程計算量大且繁瑣,使得學生在學習過程中有一定困難,而且在教學過程中輕視該門課程的計算功能以及在實踐中應用,導致學生學習興趣不高。
針對上述存在的問題,在運籌學課堂教學中引入Matlab軟件,通過在課堂教學中直接利用Matlab進行演示講解,這樣不但使得本課程教學輕松,而且讓學生也體驗學習的樂趣,從而提高了運籌學課程的上課效果,也使得本課程的教學更加生動,同時方便學生理解和掌握比較抽象的理論,也有助于培養學生思考問題的能力。
二、 Matlab軟件
Matlab是美國MathWorks公司于1984 年開發的,目前已經發展成國際上最流行、應用最廣泛的科學與工程計算軟件之一。Matlab以矩陣運算為基礎,把計算、程序設計、可視化等融合到一個簡單易用的交互式工作環境中,可實現符號運算、數值計算、建模仿真、科學工程繪圖等等許多功能,并且其功能也越來越強大,深受科研工作者青睞。目前,Matlab軟件已經被歐美各高等院校列為運籌學、時間序列分析、多元統計、動態系統仿真、圖像處理等課程必備教學工具。將Matlab軟件用于運籌學教學,可以使學生更直觀的理解運籌學中的基本概念、理論,并可培養其動手和科研實踐能力。如今,Matlab軟件已經成為現代博士生、碩士生、本科生學習必須掌握的基本工具之一,而且也成為公司或企業的工程計算部門、科研院所的一種普遍計算工具。由于Matlab有強大的統計工具箱、符號運算工具箱、最優化工具箱以及大量的函數,在教學實驗中顯現出無可替代的優勢。[6]
三、Matlab在線性規劃教學中的應用
(一)線性規劃命令linprog介紹
將一般線性規劃問題劃成下列標準形式:
其中(1a)式為不等式約束,(2b)式為等式約束,(3c)式表示決策變量X的上下界。
在MATLAB中,linprog函數用于上述(1)式的線性規劃問題的求解,該函數的調用格式為:
[X,fval,exitflag,output,lambda]=linprog(C,A,b,Aeq,beq,lb,ub)(2)
輸入部分:C目標函數的價值系數,以列向量形式出現;A、b分別是線性規劃中不等式約束的技術系數矩陣和資源限量向量;Aeq,beq分別是線性規劃中等式約束的技術系數矩陣和資源限量向量,如果缺省用[]代替;lb,ub分別是決策變量X的下上界。輸出部分:X線性規劃的最優解;fval是線性規劃最優值;exitflag是輸出標志,當exitflag=1時表示線性規劃有解,當exitflag=-1時表示線性規劃無解;output指算法和迭代情況;lambda指存儲情況。[7]
(二)應用舉例
某工廠有甲、乙兩臺機床,可用于加工三種產品。每種產品的機床臺時消耗量、臺時限量及單位產品利潤見下表,且三種產品的生產數量分別為400、600和500,在滿足加工產品的要求的條件下,如何分配機床的加工任務,才能使總加工費用最低?
解設在甲機床上加工產品1、產品2、產品3的數量分別為x1,x2,x3,在乙機床上加工產品1、產品2、產品3的數量分別為x4,x5,x6。建立下列線性規劃模型:
然后在Matlab軟件窗口中輸入下列求解程序,如圖1所示,
然后得到運行結果如圖2所示,
即甲機床加工600個產品2,乙機床上加工400個產品1、500個產品3,可在滿足產品需求條件下使總加工費最小,總費用為13800元。
通過以上實例說明,利用Matlab可以方便地求出線性規劃問題的解,不僅算法簡單,避免了手工的煩瑣計算,而且可以大大提高計算速度和計算的準確性。
四、教學實踐及效果
在運籌學教學和實驗中引入Matlab,對經管類學生來說提供了理論和實踐相結合一種嶄新的途徑。該途徑不僅可以培養學生的學習運籌學的興趣,同時可以培養學生的實踐動手能力。上課時涉及具體計算時,老師可以通過Matlab軟件直接輸入命令得到解答,使得講解直觀明了。在運籌學學習中滲入Matlab軟件,不僅使學生增加了學習運籌學的興趣,而且使學生在運籌學理論學習和實踐應用搭建了一座橋梁。同時也提高學生建立數學建模的能力和解決實際問題的本領。
在近幾年的實踐教學中,通過把Matlab軟件引入教學過程中,學生反映很好,而且學習積極性也在逐步提高,并且學習效果也得到了明顯的提高。總之,利用Matlab進行運籌學教學是一種新的教學方法,不論對教師還是學生都取得了很好的教學效果。
劉延東在《全面提高高等教育質量工作會議》上強調:探索科學基礎、實踐能力和人文素養融合發展的培養模式,推動交叉培養和聯合育人,創新教學方法和學習方式,強化師生交流互動。在這樣的背景下,改革現有的經管類管理運籌學課程的教學體系、教學方式和教學內容尤為必要。作為二十一世紀的大學教師,我們不但要轉變傳統的教學觀念,還要樹立新的教學理念。從創新能力、科學計算能力及理論與實踐相結合的能力著手,培養出更多復合型的大學生。
[參考文獻]
[1]運籌學教材編寫組.《運籌學》第三版[M].清華大學出版社,2005.
[2]唐立峰,運籌學課程教學改革思路——基于經濟管理類專業應用型人才培養的背景[J]. 經濟師,2010,(4):136-137.
[3]沈煒,文偉全.運籌學課程實驗教學方法的探討[J].實驗室研究與探索,2009,28(8):135-137.
[4]石磊,蔡定教. 關于運籌學課程教學改革的幾點思考[J]. 廣西教育學院學報,2010,(106):108-110.
[5]李紹剛,段復建,陳利霞.線性代數中Matlab實驗教學的探索與實踐[J].長春大學學報,2010,20(6):20-24.
[6]張圣勤.MATLAB 7.0 實用教程[M].機械工業出版社,2006.
[7]趙靜,但琦.數學建模與數學實驗[M].北京:高等教育出版社,2006.
[責任編輯:陳兵]