賓茂君,施翠云
摘要:運籌學是一門研究生產(chǎn)經(jīng)營過程中目標達到最優(yōu)的課程,該文通過借助Lingo優(yōu)化軟件,把運籌學中整數(shù)規(guī)劃問題進行研究,揭示整數(shù)規(guī)劃問題的本質,從而讓學生更容易理解運籌學的本質和內涵,使得學生對運籌學這門課程產(chǎn)生濃厚的興趣。
關鍵詞:Lingo軟件;最優(yōu)化;運籌學
中圖分類號:G642? ? ? ? 文獻標識碼:A
文章編號:1009-3044(2022)35-0106-03
1 引言
運籌學[1-4]是研究目標過程最優(yōu)的數(shù)學基礎學科,它的背景問題來源于我們的實際生活,包括生產(chǎn)經(jīng)營、經(jīng)濟管理、金融決策等內容。它是經(jīng)濟學、管理學和自然科學學科的學生一門專業(yè)必須課程,因此研究如何用通俗易懂的語言來教授運籌學就顯得十分必要。另外,Lingo優(yōu)化軟件[5]是由美國LINDO系統(tǒng)公司(Lindo System Inc.)推出的,可以用于求解非線性規(guī)劃,也可以用于一些線性和非線性方程組的求解等[6-7],功能十分強大,是求解優(yōu)化模型[8]的最佳選擇。相對于其他優(yōu)化軟件來說,Lingo優(yōu)化軟件的編譯語言比較簡單通俗易懂,學生更容易掌握。因此,運用Lingo優(yōu)化軟件來講授運籌學知識,就具有重要的研究意義。
由于運籌學的知識點比較多,涉及的面比較廣,本文通過最具代表性的整數(shù)規(guī)劃問題來介紹Lingo軟件在運籌學教學過程中的應用。
2 整數(shù)規(guī)劃問題的Lingo軟件教學
整數(shù)規(guī)劃是指規(guī)劃中的變化量(部分或全部)是整數(shù)。在規(guī)劃問題中,有的決策變量是小數(shù)或者是分數(shù)的形式,但是涉及機器的臺數(shù),工作的人數(shù)或者裝卸物資的車輛數(shù),都涉及整數(shù)的概念。人們?yōu)榱藵M足這些整數(shù)的要求,通常通過將所得到的數(shù)值進行四舍五入方法取得整數(shù),但是這樣的方法未必是可行解或最優(yōu)解。現(xiàn)在研究者們通常通過分支定界法或割平面法來求最優(yōu)解,這兩種方法主要針對決策變量是少數(shù)幾個的情形,對于決策變量是多個的情形就很難求解最優(yōu)解。
例1 某鐵器加工廠要制作100套鋼架,每套要用長為2.9米,2.1米和1.5米的圓鋼各一根。已知原料長為7.4米,問應如何下料,可使材料最???
分析:在長度確定的原料上截取三種不同規(guī)格的圓鋼,可以歸納出8種不同的下料方案:
[圓鋼(米) Ⅰ Ⅱ Ⅲ Ⅳ Ⅴ Ⅵ Ⅶ Ⅶ 2.9 1 2 0 1 0 1 0 0 2.1 0 0 2 2 1 1 3 0 1.5 3 1 2 0 3 1 0 4 料頭(米) 0 0.1 0.2 0.3 0.8 0.9 1.1 1.4 ]
該問題歸納為如何混合使用這8種不同的下料方案,來制造100套鋼架,且要使剩余的料頭總長為最短。不妨設[xi]表示用第[i]種下料方案下料的原料根數(shù),[i=1,2,…,8],有目標函數(shù):使圓鋼料頭總長度達到最小值
[min z=0.1x2+0.2x3+0.3x4+0.8x5+0.9x6+1.1x7+1.4x8]
約束條件:三種規(guī)格圓鋼根數(shù)都是100根,則
[x1+2x2+x4+x6=1002x3+2x4+x5+x6+3x7=1003x1+x2+2x3+3x5+x6+4x8=100]
由于圓鋼是整數(shù),不能取小數(shù),因此有非負取整條件約束[xi≥0(i=1,2,…,8)]且取整數(shù)。
對于這個問題,如果運用分支定界法或割平面法來求解,就顯得比較困難。而運用Lingo軟件來求解就比較方便快捷。該問題的Lingo程序如下:
min Z=0.1*x2+0.2*x3+0.3*x4+0.8*x5+0.9*x6+1.1*x7+1.4*x8
s.t.
x1+2*x2+ x4+ x6 =100;
2*x3+2*x4+x5+ x6+3*x7=100;
3*x1+x2+2*x3+3*x5+x6+4*x8=100;
@gin(x1); @gin(x2); @gin(x3); @gin(x4); @gin(x5); @gin(x6); @gin(x7); @gin(x8);
通過對程序進行求解可以得到當?shù)冖?、Ⅱ、Ⅳ種方案分別取30、10、50根時,所剩余的圓鋼是16米。同時,計算結果也給出了每個變化量之間變化范圍,這極大方便了生產(chǎn)者在生產(chǎn)經(jīng)營過程中根據(jù)市場經(jīng)濟情況對生產(chǎn)進行及時調整。
另外,在整數(shù)規(guī)劃中還有一類比較常見的模型——0-1整數(shù)規(guī)劃問題,它在我們的生活當中經(jīng)常見到。例如下面的例子:
例2 某游泳隊擬選用甲、乙、 丙、丁 四名游泳運動員組成一個 4×100 m 混合泳接力隊, 參加今年的錦標賽。他們的 100 m 自由泳、蛙泳、蝶泳、仰泳的成績如表所示:
甲、 乙、丙、丁 四名隊員各自游什么姿勢 , 才最有可能取得好成績?
由于游泳運動員每人只能參加四種泳姿的其中一種,這表明該問題是典型的0-1整數(shù)規(guī)劃問題。為此,不妨設這四名運動員參加4種泳姿的變量為[xij(i,j=1,...,4)],由目標是要求總花費時間最短,則目標函數(shù)為:
[min? f=56x11+74x12+61x13+63x14+63x21+69x22+65x23+71x24 +57x31+77x32+63x33+67x34+55x41+76x42+62x43+62x44]
又由于每個運動員只參加1種泳姿并且每種泳姿只由其中1名運動員參加,因此,可知[xij(i,j=1,...,4)]只能取0或1。于是,問題的約束條件為
[x11+x12+x13+x14=1; x21+x22+x23+x24=1;x31+x32+x33+x34=1; x41+x42+x43+x44=1;x11+x21+x31+x41=1; x12+x22+x32+x42=1;x13+x23+x33+x43=1; x14+x24+x34+x44=1;xij=0或1,? i,j=1,2,3,4.]
對于這問題,如果用枚舉法是比較困難的,又由于涉及多個變量,用分支定界法或割平面法來求解也是不可行的,但是Lingo優(yōu)化軟件就比較便捷,它的Lingo程序如下:
sets:
ren/A,B,C,D /:rent;
job/1..4/:jobt;
link(ren,job):time,x;
endsets
data:
time=
56,74,61,63
63,69,65,71
57,77,63,67
55,76,62,62;
enddata
min=@sum(link:time*x);
@for(ren(i):@sum(job(j):x(i,j))=1);
@for(job(j):@sum(ren(i):x(i,j))=1);
@for(link:@bin(x));
end
通過運行程序可得:
甲游蝶泳,乙游蛙泳,丙游自由泳,丁游仰泳的方式下,比賽的時間達到最短249秒。
體育競技比賽是為了獲取更好的成績,如果不是利用Lingo優(yōu)化軟件計算,而是人工用筆計算或讓比賽選手去實踐計算結果,這將會耗費大量的人力物力和財力。
從例1和例2可以看出,生產(chǎn)問題和體育競技比賽都離不開整數(shù)規(guī)劃。在整數(shù)規(guī)劃教學過程中引入Lingo優(yōu)化軟件進行教學,可以將較為復雜的整數(shù)規(guī)劃問題快速解決計算,并將有助于拓寬學生的學習視野,提高學生們的求知欲望,提高學生們的實踐動手能力,讓學生懂得將所學習的知識應用到生活實際當中去。
3 結語
在智能信息時代的今天,運籌學是實用性較強的新興學科,社會對運籌優(yōu)化問題要求也越來越高,這迫使相關專業(yè)的學生學習好運籌學也帶來了一定的挑戰(zhàn)。而運籌學的優(yōu)化理論、優(yōu)化方法越來越精細,但書本的知識有點陳舊、枯燥乏味,如果只用傳統(tǒng)的黑白與課本教學,將無法滿足智能信息時代對學生越來越高的要求。為此,利用Lingo優(yōu)化軟件來幫助運籌學的教學,并加入生活生產(chǎn)元素也許會給學生學習運籌學帶來一條寬廣的道路。通過運用Lingo優(yōu)化軟件的引入,可以將復雜問題簡單化,拓寬學生的知識面,拓展學生的動手能力,提高課堂學生的學習效率,激發(fā)新一代大學生的學習潛能,也為未來的學習工作提供能力擔當感和責任感。
參考文獻:
[1] 黃健,劉國棟.運籌學[M].長沙:湖南師范大學出版社,2015.
[2] 胡運權.運籌學習題集[M].3版.北京:清華大學出版社,2002.
[3] 吳祈宗.運籌學與最優(yōu)化方法[M].北京:機械工業(yè)出版社,2003.
[4] Wayne L.Winston.運籌學應用范例與解法[M]. 楊振凱,等譯.北京:清華大學出版社,2006.
[5] 謝金星,薛毅.優(yōu)化建模與LINDO/LINGO軟件[M].北京:清華大學出版社,2005.
[6] 李林曙.線性代數(shù)與線性規(guī)劃[M].北京:中國人民大學出版社,2010.
[7] 許紹吉.線性規(guī)劃[M]. 北京:科學技術出版社,1997.
[8] 黃平, 孟永鋼.最優(yōu)化理論與方法[M].北京:清華大學出版社,2009.
【通聯(lián)編輯:王力】