趙喜清,劉守義,韓振芳
(1.河北北方學(xué)院信息科學(xué)與工程學(xué)院,河北張家口075000;2.河北北方學(xué)院學(xué)報編輯部,河北張家口075000;3.河北北方學(xué)院理學(xué)院,河北張家口075000)
利用Excel提供的規(guī)劃求解法可以解運籌學(xué)中的許多問題,方法簡捷、精度較高[1],但對于有無窮多最優(yōu)解的問題,該方法只能給出其中的一個解.另外,Excel規(guī)劃求解將使用“在插入”試用值的迭代數(shù)值的方法,涉及可變單元格和觀察由約束單元并獲得最佳的單元格計算結(jié)果.每次試驗稱為一個“迭代”,Microsoft Excel規(guī)劃求解將執(zhí)行廣泛的觀察所得的輸出的分析和輸入,這樣的純“試驗和錯誤”方法將需要一個非常長的時間[2](尤其對于問題涉及許多可變單元格和約束).
EXCEL規(guī)劃求解步驟:
1)加載“規(guī)劃求解”宏、引用“規(guī)劃求解”工具.
2)設(shè)置“規(guī)劃求解參數(shù)”.
將“設(shè)置目標(biāo)單元格”指向設(shè)定目標(biāo)利潤值的單元格;將“可變單元格”即指向所設(shè)定的“產(chǎn)量值”(未知數(shù))的單元格;將上述的資源約束條件,用 EXCEL語言引入“約束”;設(shè)置規(guī)劃求解“選項”參數(shù),根據(jù)實際情況,選擇“采用線性模型”和“假定非負(fù)”兩個選擇項.
3)求解參數(shù)設(shè)定后,由EXCEL自動求解,得出最終結(jié)果.
以“合理配餐問題”為例,說明 EXCEL規(guī)劃求解的過程.
合理配餐問題是非常復(fù)雜的問題,涉及的因素很多,如一公司飼養(yǎng)實驗用的動物以供出售,已知這些動物的生長對飼料中的三種營養(yǎng)成分蛋白質(zhì),礦物質(zhì),維生素特別敏感,每個動物每天至少需要蛋白質(zhì)70 g,礦物質(zhì)3 g,維生素10 mg,該公司能買到五種不同的飼料,每種飼料1 kg所含的營養(yǎng)成分及每種飼料成本如表1所示:
在分析了約束條件后,確定目標(biāo)函數(shù),建立數(shù)學(xué)模型,以下為EXCEL求解過程 (見圖2):
表1 一公司飼養(yǎng)動物營養(yǎng)成分
表2 EXCEL求解過程
從上求解過程可以得到最優(yōu)解為:
X1=2.84286E-12,X2=0,X3=1.77636E-15,X4=39.74358943,X5=25.64102599,
目標(biāo)函數(shù)的最優(yōu)值為:247.4358982.
在整個求解過程中,需確定目標(biāo)函數(shù)單元格及“可變單元格”區(qū)域位置兩處單元格位置,當(dāng)然要正確地輸入約束條件和確定所求的目標(biāo)是最大還是最小才可求得正確結(jié)果.但對于有無窮多最優(yōu)解的問題,該方法只能給出其中的一個解[3].
設(shè)Xj(j=1,2,3,4,5)表示10千克混合飼料中所含的第j種飼料的數(shù)量.
析約束條件:
當(dāng)然對變量Xj(j=1,2,3,4,5)的要求應(yīng)為非負(fù).
目標(biāo)函數(shù):
min f=2 X1+7 X2+4 X3+3 X4+5 X5
數(shù)學(xué)模型:
1)引入松弛變量將化標(biāo)準(zhǔn)形
在標(biāo)準(zhǔn)形中,約束條件的等式約束是一個含有5個變量、2個等式的線性方程組,系數(shù)矩陣的秩為2,所以有3個基變量,另外2個非基變量.
2)非基變量置0,求得一個基本可行解
3)建立初始單純形表 (見表3)
將約束部分 (即線性方程組)的系數(shù)矩陣等式右邊的常數(shù)、檢驗數(shù)以及目標(biāo)函數(shù)值,填入表3中,得到某組基變量對應(yīng)的單純形表.
表3 初始單純形表
4)初等變換
將轉(zhuǎn)軸點變成1,并且以轉(zhuǎn)軸點所在的行為基準(zhǔn)行,將表中入基變量所在列的其他數(shù)包括檢驗數(shù)都變?yōu)?,結(jié)果就是新基變量對應(yīng)的單純形表 (見表4).
5)迭代,直到檢驗數(shù)非負(fù),可得問題的最優(yōu)解
表中檢驗數(shù)都大于等于0,所以已經(jīng)是最優(yōu),它的最優(yōu)解為X1=2,X2=3,X3=0,目標(biāo)函數(shù)的最優(yōu)值為max f=13(見表5)
表4 關(guān)于新基的單純形表
表5 最優(yōu)解
MA TLAB是一種應(yīng)用于數(shù)學(xué)計算及計算結(jié)果可視化處理的面向?qū)ο蟮母咝阅苡嬎銠C語言,它以矩陣和向量為基本數(shù)據(jù)單位,從而提高程序的向量化程度,提高計算效率,尤其適合于線性規(guī)劃、整數(shù)規(guī)劃、多元規(guī)劃、二次規(guī)劃等規(guī)劃類問題的算法的編寫,以及數(shù)據(jù)擬合、參數(shù)估計、插值等數(shù)據(jù)處理法[6].
在以上算法的支持下,給出MA TLAB解決規(guī)劃問題通用函數(shù).
說明:
1)函數(shù)使用條件:全部變量、常數(shù)項非負(fù),約束為不等式
2)函數(shù)參數(shù)說明:A為單純形表,a為函數(shù)系數(shù)距陣,m和n分別為非基變量個數(shù)和基變量個數(shù).
上函數(shù)可獲得最佳的單元格的可能值,在數(shù)解決方案過程中的各個階段使用線性近似值問題函數(shù);這些近似值線性實際函數(shù)時都完全相同.
[1] 唐五湘,程桂枝.Excel在管理決策中的應(yīng)用 [M].北京:電子工業(yè)出版社,2005:30-35
[2]張光澄.非線性最優(yōu)化計算方法 [M].北京:高等教育出版社,2005:82-95
[3]謝金星,薛毅.優(yōu)化建模LINDO/LINGO軟件 [M].北京:清華大學(xué)出版社,2005:47-63
[4]趙靜,但琦.數(shù)學(xué)建模與數(shù)學(xué)實驗 [M].北京:高等教育出版社,2008:56-66
[5]李靜萍,謝邦昌.多元統(tǒng)計分析方法與應(yīng)用 [M].北京:中國人民大學(xué)出版社,2008:112-132
[6]張志涌,徐彥琴.MATLAB教程 [M].北京:北京航空航天大學(xué)出版社,2004:135-167