摘 要:用MATLAB求解線性規劃問題,可以避免手工的煩瑣計算,大大地提高工作效率和結果的準確性。
關鍵詞:線性規劃MATLAB求解
中圖分類號:O221文獻標識碼:A文章編號:1674-098X(2011)09(a)-0158-01
1 引言
線性規劃是運籌學中較重要的部分, 在社會生產和經濟活動等領域中有著廣泛的應用。企業在經營管理活動中運用線性規劃方法,可以簡便地解決線性規劃模型中的生產計劃問題、運輸問題、分配問題等,可以幫助企業管理者找到在確定經營管理目標下的最佳資源配置。例如:在生產計劃中,在一定人力、機器、原材料、資金條件下,如何安排生產,使生產成本達到最低;在運輸問題上,采用怎樣的運輸方案,方能在滿足供求條件下,使總運費最省;在資源分配中,怎樣分配有限資源,使得分配方案既能滿足各項基本要求,又得到最大經濟效益,等等。
美國MathWorks公司推出的MATLAB,是一種集數值計算、符號運算、可視化建模、仿真和圖形處理等多種功能于一體的優秀的圖形化語言。MATLAB因其使用上的方便、強大功能以及良好的用戶界面,在研究機構、公司(企業)和政府部門以及學校里已經是家喻戶曉。它不僅是科學家、工程技術人員、職員和管理人員的必備工具,也是大學生和研究生需要掌握的一門技能。用MATLAB求解線性規劃問題,可以避免手工的煩瑣計算,大大地提高工作效率和結果的準確性。
2 線性規劃問題的MATLAB求解
在線性規劃中,目標函數和約束函數都是線性函數,線性規劃問題可描述為:
min
s.t.(約束條件):
其中,,為向量,,為矩陣,為設計向量變量,撇號表示轉置,矩陣和向量是線性不等式約束條件的系數,矩陣和向量是線性等式約束條件的系數,和是變量的下界向量和上界向量。
在MATLAB中,linprog函數用于線性規劃問題的求解,該函數的調用格式為:
[ ]=linprog(,,,,,,,,OPT,)
其中為的起始點,OPT為控制選項,該函數允許使用附加參數。運算完成后,結果將在變量中返回,目標函數將在變量中返回。
3 應用舉例
例:工廠生產A、B兩種產品,所用原料均為甲、乙、丙3種,生產一件產品所需原料和所獲利潤以及庫存原料情況如表1所示。
在該廠只有庫存原料甲380單位,原料乙300單位,原料丙220單位的情況下,如何安排A、B兩種產品的生產數量可以獲得最大的利潤?
解:(1)建立數學模型
設為A產品的生產數量,為B產品的生產數量,則目標函數和約束條件為:
min
s.t.:
(2)MATLAB程序
=[-7000 -10000];
=[8 6;4 8;4 6];
=[380 300 220];
LBnd=[0 0];
[ ]=linprog(f,A,b,[],[],LBnd,[])
(3)程序運行結果
=
40.0000
10.0000
=
-3.8000e+005
即A產品的生產數量為40件,B產品的生產數量為10件,獲得最大的利潤為380000元。由于生產的產品數不可能是小數(本例恰好都是整數),所以還涉及到如何對結果進行取整,這個問題要根據具體情況來決定。
4 結語
通過以上實例說明,利用MATLAB可以方便地求出線性規劃問題的解,不僅算法簡單,避免了手工的煩瑣計算,而且可以大大提高計算速度和計算的準確性。
參考文獻
[1] 趙新澤.線性規劃的新方法和應用[M].北京:世界圖書出版公司,1996.
[2] 薛定宇,陳陽泉.高等應用數學問題的MATLAB求解[M].北京:清華大學出版社,2004.
[3] 張錚,楊文平,石博強,李海鵬.MATLAB程序設計與實例應用[M].北京:中國鐵道出版社,2003.