摘要:隨著信息化時代的到來,數學建模與實驗已成為當前高等院校數學教育中的一門重要課程,而LINGO軟件在進行數學模型求解時起著非常重要的作用。筆者結合自身從事數學建模與實驗課教學,輔導學生參加數學建模競賽以及在科研工作中運用LINGO軟件的經驗,談幾點關于LINGO軟件教學中的體會。
關鍵詞:LINGO軟件教學;數學建模與實驗
中圖分類號:G642.4 文獻標志碼:A 文章編號:1674-9324(2013)18-0056-02
伴隨著社會的不斷進步,網絡技術在各個領域倍受歡迎。隨著信息化時代的到來,數學建模與實驗已成為當前高等院校數學教育中的一門重要課程,而LINGO軟件在進行數學模型求解時起著非常重要的作用。國際數學家聯盟主席David清醒地意識到:“被人們如此稱頌的高新技術,其實質是數學技術。”高職院校是培養高新科技人才的重要場所,隨著教育改革的不斷推進,以多媒體為主的網絡信息技術逐漸走進課堂,使用網絡輔助教學成為教育行業的一種潮流,也是一種社會發展進步的必然趨勢。當前,如何將有助于培養學生提高綜合數學素質的新型教學模式逐漸取代以單一的接收數學知識為主的陳舊教學模式,是數學改革中的一項值得深思的問題。數學建模與實驗作為我們高等院校數學教育中的重要一部分,是一種新型的教學模式。它是經過多次的實驗和研究多種實際問題的特點,通過提出各種假設性問題,并使得問題能夠盡可能簡單概括,得到合理解釋,最終以建立數學模型的形式(建立數學模型——研究其求解方法——利用網絡數學軟件得出結論),再回到實際生活中解決問題的過程。通過在高等院校中開設數學建模與實驗課的實踐可以看到,它能提高學生的創新能力,有助于提高學生的學習積極性,并推進高等院校的教學改革。數學模型根據所用的數學知識的不同,大致可分為三類:優化類模型,統計回歸類模型及計算機模擬類模型等。進行數學模型的求解時,主要用到Matlab,LINGO,Spss等數學軟件。LINGO軟件的教學在數學建模與實驗課上占有相當重要的地位。筆者結合自身從事數學建模與實驗課教學,輔導學生參加數學建模競賽以及在科研工作中運用LINGO軟件的經驗,談一談LINGO軟件在數學建模中的重要作用以及關于LINGO軟件教學中的體會。
一、LINGO軟件在數學建模中的重要作用
INGO軟件作為一套實用性較強、主要用來求解最優化問題的專業軟件包,它的創始人是來自美國芝加哥大學的Linus Schrage教授,這是他在十九世紀八十年代經過多次的研究和完善才設計出來的。Linus Schrage教授在當時的商業行業取得了巨大的成就,并且成立了L INDO系統公司(L INDO Systems Inc.)。LINGO是Linear Interactive and General Optimizer的縮寫,即“交互式的線性和通用優化求解器”,它遇到問題可以通過建立模型,迅速得到解答。其特色在于可以允許決策變量是整數(即整數規劃,包括0-1整數規劃),另外,LINGO軟件的程序運行速度較快,操作過程中,不管是輸入信息、修改信息、求解過程還是分析一個實際的數學問題,都比較容易簡便。因此LINGO在教育、科研和工業界得到了廣泛應用。
二、集合及其相關屬性的定義是LINGO教學中的難點
一個典型的LINGO程序分為以下三個部分:定義集合,定義數據,目標函數與約束條件的表達。集合是LINGO建模語言的基礎,是程序設計最強有力的基本構件。不同的建模問題,定義的集合是不同的。所以學生在集合的定義這個步驟覺得接受起來有一定難度。針對這種情況,筆者認為首先應通過幾個簡單形象的例子讓學生對集合及其屬性有初步的認識。比如,每樣產品都有各自的使用屬性;每種植物有每種植物的生命屬性;每種動物都有自己的作息屬性;每個工作人員也有不一樣的價值屬性、身體屬性、心理屬性等。從而歸納出集合及其屬性的定義。下面我們以運輸問題為例來具體看一下LINGO中集合及其屬性的定義方法。運輸問題:假設某公司有6個倉庫,存儲著8個分廠生產所需要的原材料。要求每個倉庫的供應量不能超過存儲量,而且每一個分廠的需求必須得到滿足,問:如何組織運輸,使總運輸費用最???供應量,需求量及運輸費用如下表所示:
在講解這個問題時,應啟發學生緊扣集合及其屬性的定義,來研究這個問題應引入的集合。考察的基本對象是6個倉庫,8個分廠,所以我們應定義兩個原始集合,倉庫集合命名為WAREHOUSES,里面有6個元素WHi,每個元素都有一個共同屬性是供應量,命名為CAPACITY。分廠集合命名為VENDORS,其中包含8個元素Vi,每個元素都有一個共同屬性是需求量,命名為DEMAND.運輸集合是由前兩個集合派生出來的,用LINKS(WAREHOUSES,VENDORS)來表示這種派生關系,它中間包含48個元素組成,表示了從6個倉庫到8個分廠的運輸情況,其中每一個元素有兩個屬性,運輸費用COST和運輸量VOLUME,這樣我們就把模型中所需要的變量都定義過了。具體程序如下:SETS:WAREHOUSES(WH1 WH2 WH3 WH4 WH5 WH6):CAPACITY;VENDORS(V1 V2 V3 V4 V5 V6 V7 V8):DEMAND;LINKS(WAREHOUSES,VENDORS):COST,VOLUME;ENDSETS。
三、正確建立和理解模型是正確運用LINGO編程的前提條件
首先將目標函數表示為我們熟悉的數學語言mini■COSTij×VOLUMEij,然后將其轉化為LINGO模型語言,MIN =@SUM(LINKS(I,J):COST(I,J)*VOLUME(I,J));數學語言和LINGO模型語言之間的關系為:
數學語言 LINGO模型語言
mini min=
■ @SUM(LINKS(I,J):)
COSTij COST(I,J)
× *
VOLUMEij VOLUME(I,J)
下面構造約束函數,則每一個分廠的需求用數學語言描述為:■VOLUMEij=DEMANDj對所有j分廠,LINGO模型語言描述為@FOR(VENDORS(J):@SUM(WAREHOUSES(I):VOLUME(I,J))=DEMAND(J));
數學語言和LINGO模型語言之間的關系為:
數學語言 LINGO模型語言
所有j分廠 @FOR(VENDORS(J):)
■ @SUM(WAREHOUSES(I):)
VOLUMEij VOLUME(I,J)
DEMANDj DEMAND(J)
每一個倉庫的供應能力約束:■VOLUMEij=CAPACITYi對所有i倉庫,LINGO模型語言描述為@FOR(WAREHOUSES(I):@SUM(VENDORS(J):VOLUME(I,J))<= CAPACITY(I));這樣我們就將模型中的目標函數和約束條件都相應地用LINGO語言表示出來了。有了數學語言和LINGO語言之間的詳細i對照講解,學生在接受起來相對就會比較容易。
參考文獻:
[1]解金星,薛毅.優化建模與LINDO/LINGO軟件[M].北京:清華大學出版社,2005.
[2]開設數學實驗課是高等數學教改之必然趨勢[DB/OL]. (2012-05-07).
http://www.reader8.cn/data/2008/0802/article_130015.html.
[3]李文歡.集裝箱班輪運輸的航線網絡優化研究[D].上海海事大學,2007,06.
作者簡介:黃靜靜(1978-),女,山東濟寧人,碩士,北京信息科技大學理學院講師,主要從事數學建模的教學。