魏 燊,劉雯雯
(鄭州大學(xué)力學(xué)與安全工程學(xué)院,河南 鄭州 450001)
某生產(chǎn)企業(yè)原材料分為A、B、C 三類,該企業(yè)每年48 周安排生產(chǎn),需提前24 周制定原材料訂購和轉(zhuǎn)運(yùn)計劃。由于原材料的特殊性,供應(yīng)商供貨量存在不穩(wěn)定的狀況,實(shí)際供貨量可能多于或少于訂貨量。對于企業(yè)來說,期望在滿足正常生產(chǎn)需求條件下,以最經(jīng)濟(jì)和最低損耗作為優(yōu)化目標(biāo),得到一個最優(yōu)的采購優(yōu)化與運(yùn)輸方案。
現(xiàn)已知企業(yè)每周的產(chǎn)能為2.82 萬m3,每立方米商品消耗A 類原材料0.6 m3,或B 類0.66 m3,或C 類0.72 m3。且企業(yè)需要保持至少兩周生產(chǎn)需求的原材料供應(yīng)量,對供應(yīng)商的供貨也要全部收購。每家轉(zhuǎn)運(yùn)商運(yùn)輸能力為6 000 m3/周,一家供應(yīng)商每周供應(yīng)原材料盡量由一家供應(yīng)商提供。
需要解決的問題:根據(jù)附件,確定能夠滿足企業(yè)正常生產(chǎn)的最少原材料供應(yīng)商數(shù)量。針對選擇的最少供應(yīng)商,制定企業(yè)未來24 周最經(jīng)濟(jì)的原材料訂購方案,并依據(jù)此制定損耗最少的轉(zhuǎn)運(yùn)方案,且對該方案進(jìn)行評價。
首先,需要以過去5 年的供貨量數(shù)據(jù)作為依據(jù),預(yù)測未來24 周的供貨量。然后以滿足供應(yīng)商數(shù)量最小為需求設(shè)計算法求解。我們在已經(jīng)選擇出的供應(yīng)商中尋找最經(jīng)濟(jì)訂購方案??紤]到新的訂購方案可以滿足企業(yè)未來24 周全部的生產(chǎn)需求。而參照評價,過去五年的訂購方案與供貨情況并不能滿足正產(chǎn)生產(chǎn)情況,所以先求解出滿足生產(chǎn)條件且供貨商數(shù)量一定的條件下的以訂購成本為目標(biāo)函數(shù)的0-1 規(guī)劃模型,再通過定義的企業(yè)經(jīng)濟(jì)度,計算出新的訂購方案的經(jīng)濟(jì)度[1]。轉(zhuǎn)運(yùn)損耗度最小的優(yōu)化模型需要以新的訂購方案為前提建立0-1 規(guī)劃模型,考慮到遺傳算法的自適應(yīng)和尋找全局最優(yōu)解的能力較強(qiáng),故采用遺傳算法求解。
建立概率預(yù)測函數(shù)。由于題目附件中只給出了近五年的供貨量和銷售量數(shù)據(jù),并不能準(zhǔn)確反映未來24 周的變化趨勢,所以需要對供應(yīng)商未來24 周內(nèi)的供應(yīng)量進(jìn)行預(yù)測。
建立的概率預(yù)測函數(shù)分為兩個部分,一部分是事件發(fā)生的概率,一部分是實(shí)際預(yù)測的函數(shù),自變量x為24 周中的第x 周:
由供貨商過去五年內(nèi)未供貨的概率確定預(yù)測函數(shù)中的概率部分:
式中:a、b 滿足a+b=1;a=五年內(nèi)出現(xiàn)供貨量不為0的周數(shù)/五年內(nèi)總數(shù)據(jù)的個數(shù);b=五年內(nèi)出現(xiàn)供貨量為0 的周數(shù)/五年內(nèi)總數(shù)據(jù)的個數(shù)。
3.2.1 定義生產(chǎn)企業(yè)經(jīng)濟(jì)度
對于生產(chǎn)型企業(yè)來說,其成本的產(chǎn)生不僅僅是在原材料的采購方面,其生產(chǎn)流程的正常進(jìn)行也是另一個重要的因素。首先我們定義生產(chǎn)穩(wěn)定性。由題目附件數(shù)據(jù)預(yù)處理的分析我們知道供應(yīng)商所提供的產(chǎn)量在大部分情況下是不滿足企業(yè)所下的訂單量的,所以可以由供應(yīng)商對企業(yè)的供貨穩(wěn)定性來衡量生產(chǎn)穩(wěn)定性,如表1 所示。
表1 不同原材料供貨完成情況
求均值得到平均供貨完成率為φ=0.64,以此作為企業(yè)的生產(chǎn)穩(wěn)定性。我們定義企業(yè)的經(jīng)濟(jì)度為:
式中:φ 為企業(yè)的生產(chǎn)穩(wěn)定性;Q2為企業(yè)的訂購成本。
3.2.2 以采購成本最低為目標(biāo)函數(shù)的0-1 規(guī)劃模型
引入0-1 變量
式中:Aij為第j 周第i 家A 類供應(yīng)商的供貨量;Bij為第j 周第i 家B 類供應(yīng)商的供貨量;Cij為第j 周第i家C 類供應(yīng)商的供貨量。
約束條件有兩個,一個是保障該企業(yè)保持不少于一周的庫存儲備量,另一個是在第j 周買到的貨品數(shù)量不超過本周供應(yīng)商的最大供貨量。因?yàn)橹豢紤]了訂購策略,所以合理假設(shè)轉(zhuǎn)運(yùn)損耗率為定值0.98。
3.2.3 基于分支定界法0-1 規(guī)劃模型
分支定界法可用于求解如本文這樣的純整數(shù)規(guī)劃問題[2],若松弛條件的可行域有界,則相應(yīng)的整數(shù)規(guī)劃的可行域會是有限個點(diǎn)組成的集合,分支定界法使得每次規(guī)劃從可行域中去除一部分點(diǎn)集,這樣經(jīng)過有限次的分支,一定會有整數(shù)點(diǎn)落在可行域的頂點(diǎn)處。
以轉(zhuǎn)運(yùn)損耗率最低為目標(biāo)函數(shù),每家轉(zhuǎn)運(yùn)商的運(yùn)輸能力不超過6 000 m3/周為約束條件,是否選擇該家轉(zhuǎn)運(yùn)商為0-1 變量,建立0-1 規(guī)劃模型:
式中:xit為第t 周第i 個供應(yīng)商的供貨量;yint為第t 周第n 個轉(zhuǎn)運(yùn)商對供應(yīng)商i 是否轉(zhuǎn)運(yùn),αnt為第t 周第n個轉(zhuǎn)運(yùn)商的損耗率。
以預(yù)測數(shù)據(jù)為基礎(chǔ),設(shè)計算法在重要性排名為前五十名的供應(yīng)商中選擇。我們假設(shè)在第一周企業(yè)已有一周的庫存量,要求滿足企業(yè)每周的庫存儲備量,然后進(jìn)入下一周安排訂購,原理同第一周。在此基礎(chǔ)上設(shè)計算法流程圖[3]如圖1 所示。
通過Excel 求解得到最小供應(yīng)商數(shù)量為38 家,具體結(jié)果如圖2 所示。
圖2 中數(shù)字代表供應(yīng)商在題目所給附錄中的序號,深色方格就是得到的滿足企業(yè)生產(chǎn)的最少供應(yīng)商。
因?yàn)楸疚脑O(shè)計到的0-1 變量個數(shù)過多,所以借助MATLAB 中的BranchBound()函數(shù)進(jìn)行求解。
在新的訂購方案下,企業(yè)的采購成本(W2)為897 787.96 萬元。我們以過去5 年企業(yè)的平均采購成本(W1)作為對照,計算得到W1=767 854.3 萬元。已知新的訂購方案可以完全滿足企業(yè)未來24 周的生產(chǎn)和庫存需求,所以生產(chǎn)保障穩(wěn)定性φ2=1,由題目所給的附件一的數(shù)據(jù)計算得到過去五年的生產(chǎn)保障穩(wěn)定性為φ1=0.64。
遺傳算法(GA)是一種具有很強(qiáng)的全局尋優(yōu)能力,適合求解復(fù)雜的多極值優(yōu)化問題和組合問題的智能算法,本文采用遺傳算法進(jìn)行求解,通過MATLAB進(jìn)行編碼,生成優(yōu)化方案[4]。
4.3.1 染色體編碼
種群大小為20,染色體的個數(shù)為402,對應(yīng)402個供應(yīng)商,迭代次數(shù)為1 000 代。
4.3.2 適應(yīng)度函數(shù)的設(shè)計
如果運(yùn)量不足的話,適應(yīng)度函數(shù)為零如果運(yùn)量滿足的話,將損耗率的預(yù)測值升序排列,將每周供貨的預(yù)測量除以6 000,向下取整,用損耗率的預(yù)測值乘以取整值乘以6 000,再加上下一個損耗率的預(yù)測值乘以供貨的預(yù)測值減去6 000 乘以取整值的結(jié)果,最后再將這個值取反,作為適應(yīng)度采用MATLAB 遺傳算法工具箱求解,得到最終結(jié)果。
新訂購方案在滿足了全部24 周的供應(yīng)需求,其生產(chǎn)穩(wěn)定性為1,經(jīng)濟(jì)度為897 787.96。過去5 年內(nèi)在企業(yè)的訂購模式下訂購成本為767 854.3 萬元,低于新的訂購方案,但其生產(chǎn)穩(wěn)定性僅為0.64,所以計算出過去5 年的經(jīng)濟(jì)穩(wěn)定度為1 199 772.34??芍?jīng)濟(jì)度降低了25.17%,具有較好的優(yōu)化效果。