吳衛(wèi)國 孫 霞
(1、總后勤部軍事交通運輸研究所,天津 河東 300161 2、長安大學,陜西 西安 710064)
MATLAB是美國MathWorks公司推出的大型數(shù)學軟件,具有強大的數(shù)學運算功能,同時涉及面也非常廣,能夠為各學科多種工作平臺提供支持。MATLAB工具箱更為各學科專業(yè)提供了方便的工具,它能解決控制系統(tǒng)、信號處理、財政金融、優(yōu)化設計等各種問題,大大豐富和拓寬了MATLAB的功能,使得計算更為便捷高效。優(yōu)化設計是專門研究如何從多個方案中獲得最科學合理的學科。它研究決策問題的最佳選擇特性,構(gòu)造尋求最優(yōu)解的計算方法,廣泛應用于各個行業(yè)的生產(chǎn)和管理決策,以及機械設計等領域,取得了良好的經(jīng)濟效益和社會效益,發(fā)揮著極其重要的作用。管理決策過程極其復雜,受到各種條件,各種因素的制約,同時決策目標又具有多樣性,因此決策起來比較困難,決策的好壞直接影響到企業(yè)和單位的效益。如何尋求最優(yōu)化的解決辦法,成為我們關注的問題。本文將運用MATLAB工具,以管理中的運輸計劃決策為例,對其進行優(yōu)化設計,得出最優(yōu)解,指導管理決策。
對實際的問題進行優(yōu)化設計,首先,必須對實際問題具體分析,將其簡化成數(shù)學問題,建立其數(shù)學模型;然后針對該數(shù)學模型,選取合適的方法,編制優(yōu)化程序,進行優(yōu)化求解。以MATLAB為工具的優(yōu)化設計應根據(jù)得出的數(shù)學模型,確定系統(tǒng)變量,建立目標函數(shù),列出約束條件,選取合適的優(yōu)化工具箱函數(shù),進行數(shù)值運算,并對得出的結(jié)果進行分析。
下面以管理中的運輸計劃決策為例,運用MATLAB工具進行優(yōu)化設計。
某軍用運輸機參加搶救物資任務,由于受惡劣天氣的影響,該運輸機只能往返1次,運輸機裝載量有限,只能裝載部分物資,搶救物資中有A和B兩種,價值不等,物資A有18噸,每噸體積為15m3,價值為每噸1000元,物資B總重為10噸,每噸體積為30m3,價值為每噸1500元,該運輸機分為前后兩艙,前艙容積為120m3,最大裝載量為8噸,后艙容積為300m3,最大裝載量為14噸,為確保運輸安全,后艙貨物的重量要求為前艙貨物的重量的1.5倍。如何安排運輸計劃才能獲得最大的效益,使損失降到最小。
問題分析:
首先,將運輸計劃問題簡化,如表1所示。
該運輸問題涉及到A和B兩種物資,混合裝載在運輸機前后兩艙,為使效益最大,損失最小,A和B存在裝載比例關系,同時每一個艙都存在著A與B分配的比例問題,每個艙對重量、容積都有要求,飛行安全也有要求。
首先,確定系統(tǒng)變量,設x,y分別為該運輸機裝載物資A、B的重量,下標表示運輸機的前、后兩艙,系統(tǒng)變量為:x1,x2,y1,y2,該模型的目標函數(shù)為:1000*(x1+x2)+1500*(y1+y2)
按要求,運輸機對裝載量和容積都有要求,存在下列約束關系:
x1+y1≤8 x2+y2≤14
15x1+30y1≤120
15x2+30y2≤300
另外,裝載物資的總重量不能超過物資的總重量,物資量應為正數(shù)
x1≥0,x2≥0,x1+x2≤18 y1≥0,y1≥0,y1+y2≤10
飛行安全要求:1.5*(x1+y1)=x2+y2
從而將該問題轉(zhuǎn)化為數(shù)學模型,求目標函數(shù)的最大值。
在MATLAB中可轉(zhuǎn)化為求最小值:
Min-1000*(x1+x)2-1500*(y1+y)2
約束條件為:
x1+x2≤18
y1+y2≤10
x1+y1≤8
x2+y2≤14
15x1+30y1≤120
15x2+30y2≤300
1.5 *(x1+y1)=x2+y2
x1≥0,x2≥0,y1≥0,y2≥0
利用MATLAB進行優(yōu)化求解:
輸入目標函數(shù)的系數(shù)、約束矩陣、右端項和下界:
》f=[-1000;-1000;-1500;-1500];
》A=[1 1 0 0;0 0 1 1;1 0 1 0;0 1 0 1;15 0 30 0;0 15 0 30];
》Aeq=[1.5-1 1.5-1];
》b=[18;10;8;14;120;300;]
》beq=[0];
》lb=zeros(4,1)
調(diào)用MATLAB優(yōu)化工具箱linprog函數(shù),進行優(yōu)化設計,輸入命令:
[x,fval,exitflag,output]=linprog(f,A,b,Aeq,beq,lb)
運行結(jié)果為:x=8 4 0 8
fval=-2.4000e+004
exitflag=1
output=literations:6...
message:Optimization teminated
由上面的結(jié)果得到該運輸機前艙裝8噸A,不裝物資B,后艙裝4噸A,8噸B,運輸總價值為24000元,損失降到了最小。
運用MATLAB工具,采用優(yōu)化設計的方法,很好的解決管理決策問題,給管理決策者帶來了很大便利,不需要編寫大量程序,使用方便,在管理決策中具有重要的應用價值。
[1]精銳創(chuàng)作組.MATLAB6.0科學運算完整解決方案[M].人民郵電出版社,2001.
[2]孫亮.MATLAB.北京工業(yè)大學出版社[M].
[3]王振軍.交通運輸系統(tǒng)工程[M].東南大學出版社,2008,10.