□衛(wèi)奕冰 張 喆
(延邊大學(xué)理學(xué)院數(shù)學(xué)系 吉林 延吉 133000)
A、B、C、D 4 人需要完成甲、乙、丙、丁 4 種軟件的開發(fā),這4個(gè)項(xiàng)目的收入費(fèi)用分別為1 000元、2 000元、3 000元、4 000元,分別安排 A、B、C、D 4人完成每個(gè)軟件不同階段的項(xiàng)目任務(wù)。完成甲項(xiàng)目,A需要用3 d,B需要用4 d,C需要用 2 d,D需要用3 d;完成乙項(xiàng)目,A需要用5 d,B需要用6 d,C需要用4 d,D需要用2 d;完成丙項(xiàng)目,A需要用5 d,B需要用6 d,C需要用7 d,D需要用4 d;完成丁項(xiàng)目,A需要用6 d,B需要用7 d,C需要用10 d,D需要用8 d?,F(xiàn)在要對(duì)這4名軟件開發(fā)人員和4個(gè)項(xiàng)目進(jìn)行安排,使該公司實(shí)現(xiàn)1 a(365 d)內(nèi)的收入最大化。要完成以上任務(wù),需要考慮兩方面因素。一方面,需要考慮完成一個(gè)項(xiàng)目總的時(shí)間和,以便將時(shí)間控制在規(guī)定的范圍內(nèi)。另一方面,這是一個(gè)收入最大化的問題,需要基于最優(yōu)規(guī)劃,建立合理的計(jì)算模型[1]。
基于項(xiàng)目數(shù)量,建立收入的目標(biāo)函數(shù),即W=1 000x1+2 000x2+3 000x3+4 000x4
在上述公式中,W代表一年的收入,決策變量x1、x2、x3、x4分別代表 1 a內(nèi)所完成的甲、乙、丙、丁 4 個(gè)項(xiàng)目的工作量[2]。由于完成項(xiàng)目的天數(shù)有所限制,所以得到線性回歸方程組:
在處理多元線性回歸方程組的過程中,由于最優(yōu)規(guī)劃模型與概率模型具有一定的聯(lián)系,所以可以采取隨機(jī)模擬的方法——蒙特卡羅法進(jìn)行求解[3]。通過生成一定量的隨機(jī)數(shù),利用MATLAB進(jìn)行統(tǒng)計(jì)模擬與抽樣,從而獲得問題的最優(yōu)近似解。MATLAB蒙特卡羅法算法步驟如下[4]。
(1) 生成的 x1、x2、x3、x4分別位于 [0,30]、[0,20]、[0,16]、[0,11]的隨機(jī)數(shù)[5]。
(2)對(duì)生成的隨機(jī)數(shù)進(jìn)行取整。
(3)利用枚舉法的思想,對(duì)產(chǎn)生的隨機(jī)數(shù)進(jìn)行約束條件的迭代限制。
(4)不斷循環(huán)運(yùn)算,最終得到最優(yōu)解[6]。
經(jīng)過多次運(yùn)算后,得到了最優(yōu)解,即①x1=18,x2=20,x3=16,x4=11。②x1=16,x2=21,x3=16,x4=11。
通過利用蒙特卡羅法進(jìn)行多次隨機(jī)模擬之后,得到最終結(jié)果:W=150 000
此時(shí),出現(xiàn)了兩種工作安排方案。①甲、乙、丙、丁項(xiàng)目分別為 18、20、16、11。②甲、乙、丙、丁項(xiàng)目分別為16、21、16、11。利用Lingo對(duì)該最優(yōu)規(guī)劃問題進(jìn)行進(jìn)一步的檢驗(yàn)計(jì)算,得到與蒙特卡羅方法相同的結(jié)果,由此可以判斷,蒙特卡羅方法具有可靠性。
通過分析,可以通過建立合理的目標(biāo)函數(shù)與約束條件,利用蒙特卡羅方法求得整數(shù)解,實(shí)現(xiàn)收入最大化的目標(biāo),為企業(yè)創(chuàng)造更多的利潤。