


摘? 要:數(shù)學(xué)建模是利用數(shù)學(xué)思想和方法解決實(shí)際問題的一種方式,線性規(guī)劃問題是數(shù)學(xué)建模的一項(xiàng)重要模型。本文從案例的實(shí)際出發(fā),在探討線性規(guī)劃模型解決問題過程中,創(chuàng)造性地引入正負(fù)偏離變量,將約束條件加以放寬,并靈活應(yīng)用序慣算法,使一個(gè)線性規(guī)劃的疑難問題得以圓滿的解決。
關(guān)鍵詞:線性規(guī)劃;正負(fù)偏離變量;序慣算法
中圖分類號(hào):021? ? 文獻(xiàn)標(biāo)識(shí)碼:A
一、問題的引出
線性規(guī)劃模型是數(shù)學(xué)建模的基本模型,在一定的條件下,對(duì)這一模型的優(yōu)化,可使目標(biāo)達(dá)到最優(yōu)的決策,全國大學(xué)生競(jìng)賽題許多與有優(yōu)化有關(guān),并用軟件加以解決。本文將從一個(gè)案例入手,利用數(shù)學(xué)模型探討問題最優(yōu)解法。
案例:某企業(yè)生產(chǎn)甲、乙、丙三種產(chǎn)品,這些產(chǎn)品分別需要在設(shè)備A、B上加工,需要消耗材料C、D,單件產(chǎn)品在不同設(shè)備上加工及所需要的資源如表一所示.已知在計(jì)劃期內(nèi)設(shè)備的加工能力各為200臺(tái)時(shí),可供應(yīng)材料分別為360、300千克,每生產(chǎn)一件甲、乙、丙三種產(chǎn)品,企業(yè)可獲得利潤分別為40、30、50元.決策者根據(jù)企業(yè)的實(shí)際情況和市場(chǎng)需求,制定了幾個(gè)經(jīng)營目標(biāo),這些目標(biāo)的優(yōu)先順序是:
(1)利潤不少于3200元.
(2)產(chǎn)品甲與產(chǎn)品乙的產(chǎn)量比例盡量不超過1.5.
(3)提高產(chǎn)品丙的產(chǎn)量使之達(dá)到30件.
(4)設(shè)備加工能力不足可以加班解決,能不加班最好不加班.
(5)受到資金的限制,只能使用現(xiàn)有材料,不能再購進(jìn).
假定市場(chǎng)需求無限制,企業(yè)應(yīng)如何安排生產(chǎn),使總利潤最大.
1、模型假設(shè)
假設(shè)表中的數(shù)據(jù)保持不變。
即:工藝不變;材料供應(yīng)有保障;市場(chǎng)價(jià)格穩(wěn)定。
2、建立模型
設(shè): 分別為產(chǎn)品甲乙丙的產(chǎn)量(件)。
設(shè)備A的約束:
設(shè)備B的約束:
材料C的約束:
材料D的約束:
第一目標(biāo)約束:
第二目標(biāo)約束:
第三目標(biāo)約束:
匯總為:
3、模型求解
使用lingo軟件編程,進(jìn)行求解。結(jié)果表明是無解。因此,線性規(guī)劃模型利用傳統(tǒng)的方法,無法尋求最優(yōu)解。作為問題本身應(yīng)該有優(yōu)化解。
二、模型的分析與改進(jìn)
考慮到案例中5個(gè)目標(biāo)順序中的前4個(gè)目標(biāo)可考慮放松,第5個(gè)目標(biāo)明確規(guī)定不能改變。
因此可將目標(biāo)放寬為:
(1)利潤為3200元左右;
(2)產(chǎn)品甲與產(chǎn)品乙的產(chǎn)量比例在1.5左右;
(3)提高產(chǎn)品丙的產(chǎn)量使之達(dá)到30件左右;
(4)設(shè)備加工能力不足可以加班解決,設(shè)備A和B可以考慮加班在200臺(tái)時(shí)左右,但加班數(shù)最小。
為了解決這一問題,我們考慮引進(jìn)正負(fù)偏差變量來進(jìn)行處理:
假定
是兩個(gè)偏差變量,且滿足以下條件:
體現(xiàn)在模型中,就是將(2)、(3)、(6)、(7)(8)可以考慮放寬條件,結(jié)合題意,考慮引進(jìn)目標(biāo)函數(shù),得到以下修改模型:
這樣,原來的線性規(guī)劃模型就轉(zhuǎn)化成目標(biāo)規(guī)劃模型了。
三、使用序慣算法。
在處理正負(fù)偏差變量過程中,考慮到指數(shù)位置的正負(fù)號(hào)在lingo程序中不易表達(dá),我們不妨規(guī)定:分別用s1,s2替代
具體來說,就是用s11,s12,s21,s22,s31,s32,s41,s42,s51,s52替代
因此,在lingo軟件中,編程得到以下程序:
在運(yùn)行這個(gè)程序時(shí),把前面4個(gè)目標(biāo)函數(shù)
按次序與約束函數(shù)逐一運(yùn)行計(jì)算,得出結(jié)果代入下一程序進(jìn)入計(jì)算,最終計(jì)算出所需結(jié)果,該運(yùn)算法,稱之為程序的序慣算法。具體過程操作如下:
運(yùn)行l(wèi)ingo程序得到的結(jié)果如下:
結(jié)果顯示s11=0,將其代入下一步程序中,在軟件lingo中運(yùn)行第二目標(biāo)程序。
結(jié)果顯示,s11=0,s22=0,將結(jié)果代入程序,再在linguo程序中運(yùn)行第三目標(biāo)程序命令。結(jié)果顯示,s11=0,s22=0,s31=0,s32=0.將此結(jié)果代入程序,運(yùn)行最后一個(gè)目標(biāo)程序。
其顯示的結(jié)果,用數(shù)學(xué)式表達(dá)如下:
四、模型的檢驗(yàn)
將這些結(jié)果導(dǎo)入修改后模型中,
發(fā)現(xiàn):設(shè)備B加班16臺(tái)時(shí),其余目標(biāo)全部滿足,其利潤達(dá)到3220元,比我們?cè)扔?jì)劃3200元還多20元,這個(gè)結(jié)果正是我們所希望的!
五、結(jié)束語
利用lingo解決線性規(guī)劃和非線性規(guī)劃問題,是比較方便的方法。但是如果出現(xiàn)無解的情況,就需要考慮將約束條件進(jìn)行適當(dāng)?shù)姆艑挕R簿褪窃谠瓧l件得基礎(chǔ)上引進(jìn)正負(fù)偏差因素,并將正負(fù)偏差控制在最小的范圍內(nèi),以便使約束條件不至于偏離原條件太遠(yuǎn)。在此過程中,必然需要引進(jìn)目標(biāo)規(guī)劃函數(shù),從而在新的條件下達(dá)到最優(yōu)解。
參考文獻(xiàn)
[1]? 韓中庚.實(shí)用運(yùn)籌學(xué)[M].北京:清華大學(xué)出版社.2007.
[2]? 朱素玲李文婷劉秀英.變量選擇偏離對(duì)預(yù)測(cè)的影響研究[J].決策與統(tǒng)計(jì).2016.6.
[3]? 田森.基于運(yùn)籌學(xué)運(yùn)輸問題模型的電煤采購決策[J].工業(yè)技術(shù)創(chuàng)新.2017.1.
[4]? 黃青群.淺談最優(yōu)化方法在數(shù)學(xué)建模中的應(yīng)用[J].高教學(xué)刊.2016.11.
[5]? 耿德志.線性規(guī)劃求解算法研究[J].軟件導(dǎo)刊.2011.6
作者簡(jiǎn)介:熊慶如(1964—),男,江西宜豐人,浙江東方職業(yè)技術(shù)學(xué)院教師,碩士學(xué)位,副教授。研究方向:數(shù)學(xué)教育。
基金項(xiàng)目:本文為浙江東方職業(yè)技術(shù)學(xué)院2018—2019年度院級(jí)課題:“雙創(chuàng)”背景下高職產(chǎn)業(yè)學(xué)院的組織機(jī)制與培養(yǎng)模式的研究”(DF2018YB15)研究成果