胡慧旦,張海波,林天舒,周洪鵬
(臺州學院 電子與信息工程學院,浙江 臨海 317000)
近幾年,國內外對貨物訂購和運輸的策略研究雖不是很多,但較為深入,一些建模比賽也都涉及了該類問題。在對該類問題的研究和解決中,大多數學者都運用了遺傳算法和線性規(guī)劃來進行求解和優(yōu)化。此外,在研究訂購方案時,大多已有的模型中都融入了對供應商的供貨能力、運輸能力等限制因素的考慮,在滿足企業(yè)計劃要求的基礎上,確定使企業(yè)訂購費用和存儲費用最小的采購計劃。伊朗德黑蘭沙希德大學的Patoghi Amirhosein提到了一種新的數學模型,該模型用于多站點運輸,旨在最大限度地降低項目總成本以及項目的完成時間。文中考慮了全單位折扣政策和多模式的訂購問題,根據原有的研究成果,結合更多現有數據,對研究內容進一步完善,為有供貨和訂貨需求的企業(yè)提供相關的運輸方案。
本文基于2021年全國大學生數學建模競賽C題中提供的數據:根據近5年402家供應商每周不同材料的供應情況,需要確定體現供貨特征的指標。供貨特征可以通過企業(yè)對供應商的依賴度、供應商對企業(yè)供貨的穩(wěn)定性以及供應商的最大供貨能力和履約率來表示。首先,通過企業(yè)的訂貨量找出對企業(yè)訂購影響最大的供應商,再通過觀察這些訂貨量,找出對企業(yè)影響最大的幾家供應商。為了表示出這4個指標,可以通過近5年在各個供應商進貨的次數比(某個供應商提供一類原材料的次數與總的訂購該類原材料的次數的比值)、各個供應商供貨的總量(該供應商提供的5年的總供貨量)、各個供應商提供的原材料的量在該類原材料總量中的占比、各個供應商一周的最大供貨量以及對供應商的滿意度來完成。其次,通過給定數據計算出次數比、進貨總量和占比。對于企業(yè)對各個供應商滿意度的評定,可通過確立一個模糊函數來實現。最后,針對這4項指標確定4個約束條件。由于是為企業(yè)選擇50家最佳的供應商,最大程度滿足企業(yè)的需求,因此可運用多目標線性規(guī)劃的思想,根據企業(yè)訂貨量的數據選出50家最重要的供應商。
由于生成同樣體積的產品,需要消耗的三種類型原材料的體積各不相同。為了能夠直觀且方便地對訂購方案(不同類型的原材料組合)進行計算比較,需要將供應商供應的原材料和企業(yè)需要的訂單量全部轉化為產能,然后再進行計算。首先,將供應商各自240周的原材料供應量轉化為相應的產能,接著根據量化后的產能數據運用BP神經網絡預測出未來26周的產能。同樣,將企業(yè)每周的A、B、C類原材料訂單量也全部轉化成產能,求出企業(yè)每周的產能需求,然后預測出未來26周的企業(yè)訂購的產能。為了消除個別較低產能的供應商的影響,去掉產能小于100的供應商。通過求出篩選后的各個供應商的平均產能并對其進行降序排序,將平均產能最大的供應商進行累加,直到所得的產能之和大于最大需求量,由此求出重要的幾家供應商。之后通過線性規(guī)劃確定企業(yè)需要的供應商,求出未來26周每周最經濟的原材料訂購方案。接下來預測未來26周的不同轉運商的損耗率,運用線性規(guī)劃制訂出損耗最少的轉運方案。最后再根據訂購方案和轉運方案從對企業(yè)的穩(wěn)定性和成本兩方面進行效果分析。
根據問題分析,需要確定5個供貨特征來進行分析,因此給出該企業(yè)在各個供應商進貨的次數比、各個供應商進貨的總量、各個供應商提供的原材料的量在該類原材料總量中的占比、各個供應商一周的最大供貨量以及對供應商的履約率。接著,用這5個供貨特征對企業(yè)的訂單量表格依次進行求解,建立整體求解流程圖模型,如圖1所示,并對流程圖模型中的指標依次進行建立。
圖1 最佳供應商篩選流程圖
首先,分別對402家供應商不同周供貨量進行分析,通過數據分析找出相應的供貨規(guī)律,由此找出對企業(yè)的訂貨量產生較大影響的供應商。在402家供應商收到的訂貨量周期圖中可以初步看出S140,S307,S108,S139這4個供應商具有周期性且供貨能力較大[1],如圖2~5所示,因此這4個供應商可以提前確定為 4家對企業(yè)生產比較重要的供應商。而 S374,S348,S330,S308,S201,S151,S126這 7家供應商不具有周期性且相應的供貨能力較小,因此可以將這7家供應商預先淘汰。
圖2 企業(yè)向S140的訂貨量周期圖
圖3 企業(yè)向S307的訂貨量周期圖
圖4 企業(yè)向S108的訂貨量周期圖
圖5 企業(yè)向S139的訂貨量周期圖
1.1.1 依賴度
依賴度是指企業(yè)與供應商之間的依賴程度,依賴度越高,說明該供應商對商家來說越重要。依賴度可以通過該企業(yè)各個供應商的次數比和各個供應商供貨的總量來描述,供應商的總量為該供應商提供的5年總供貨量,供應商的次數比為某個供應商提供一類原材料的次數與總的訂購該類原材料的次數的比值,定義函數為:
由此計算出企業(yè)對不同商家的依賴度,通過依賴度判斷供應商對企業(yè)的重要性。
1.1.2 單次最大供貨量
供應商的單次最大供應量可以反映供應商對企業(yè)的供貨量的重要程度。供應商單次可供貨的數量可以用各個供應商一周的最大供貨量gmax來表示,即
1.1.3 穩(wěn)定性
穩(wěn)定性表示不同供應商對企業(yè)供貨的穩(wěn)定程度,穩(wěn)定性越高,則表示該供應商對企業(yè)越重要。供貨的穩(wěn)定性可以用各個供應商提供的原材料的量在該類原材料總量中的占比表示,公式為:
A,B,C為供應商提供的原材料。
1.1.4 履約率
供應商生產的效率及完成程度可以通過對供應商履約率的求解來表示。令矩陣D(i,j)表示企業(yè)在5年內每周的訂貨量的矩陣,矩陣G(i,j)表示各個供應商在近5年內每周供貨量的矩陣。通過供貨量與訂貨量的差值來判斷履約率,建立如下模型:
表示供應量g與訂單量d之間的差值為c,企業(yè)對供應商的履約率會隨著差值的變化而變化,因此假設履約率函數由兩段二次函數構成。當差值c=0時,沒有考慮到損耗率,故履約率為0.5,構造函數分別為:
當差值占訂貨量的1%時履約率為1,即y1過(1,1)和(0,0.5)這兩點;當差值為訂貨量的5%時,供應量遠大于需求量,供應量過多,會提高企業(yè)的成本支出,則履約率為0。因此y2過(1,1)和(5,0)這兩點,由此求出:
綜上可確定每周供應商的履約率為:
由于中位數最能反映一個量的中間水平,因此根據求出的除履約率外的4項指標的值進行中位數求解,按中位數大小進行依次篩選,選出滿足條件的供應商[2]。再利用第1次篩選出的供應商進行第2次篩選。因為第1次篩選掉的供應商的履約率幾乎全為0,故第1次篩選對第2次篩選不會造成影響,該次篩選先按照履約率進行降序排序,然后選擇前50家供應商。
模型建立中的5個不同的指標分別反映了供應商不同的生產特征,如圖6所示。
圖6 指標對應的生產特征
1.2.1 依賴度的判定
根據各個供應商的次數比公式求解出次數比,如圖7所示,各個供應商供貨的總量如圖8所示。
圖7 402家供應商各自供應的次數
圖8 402家供應商各自供應的總量
1.2.2 單次最大供貨量的求解
供應商一次性最多可供貨的數量可以通過各個供應商一周的最大供貨量gmax來描述,如圖9所示;供應商最大供應能力如圖10所示。
圖9 402家供應商訂貨數量
圖10 402家供應商最大供應數量
1.2.3 供應商供貨的穩(wěn)定性
供貨穩(wěn)定性是指各供應商提供的原材料的量在該類原材料總量中的占比。
1.2.4 供應商生產的效率及完成程度
供應商生產的效率及完成程度可通過對供應商的滿意度來表示,如圖11所示。接著,求解近5年各個供應商進貨的總量、次數比、供貨穩(wěn)定性及一周的最大供貨量這4個指標的中位數,如表1所示。
圖11 402家供應商的平均滿意度
表1 4個指標的中位數
根據表中4個中位數值對供應商進行篩選,選出4個指標均大于中位數值的供應商,并以此條件完成第1次篩選,共選出117家滿足條件的供應商。接著根據履約率進行計算,算出近5年對各個供應商的履約率的平均值。最后根據滿意度平均值的降序排序選出了50家供應商,如表2所示。
表2 50家供應商
根據如此的篩選過程可以保證所選擇的供應商能夠在滿足企業(yè)的進貨要求的同時使得企業(yè)能夠獲得最大的滿意度,選擇企業(yè)依賴度和穩(wěn)定性最大的供應商來保證企業(yè)的正常生產。
根據數據預處理后得到的供應商供貨產能和企業(yè)訂購產能,運用BP神經網絡預測未來26周的供應商供應產能和訂貨產能[3-4]。BP神經網絡通常采用Sigmoid可微函數和線性函數作為網絡的激勵函數,而由于網絡的輸出歸一化到[-1,1]范圍內,因此預測模型選取S型對數函數Tansig作為輸出層神經元的激勵函數。BP神經網絡訓練用的是MATLAB神經網絡工具箱,具體實現步驟為:①讀取所需預測的數據集,放入空矩陣內作為訓練樣本。②將訓練樣本數據歸一化后輸入網絡,設定網絡隱層和輸出層激勵函數分別為Tansig和Logsig,網絡訓練函數為Traingdx,網絡性能函數為Mse,隱層神經元數初設為6。③設定網絡參數。網絡迭代次數epochs為100次,期望誤差goal為0.00000001,學習速率lr為0.01。④訓練網絡。訓練的具體過程分為2個階段:第1階段是信號的前向傳播,從輸入層經過隱含層,最后到達輸出層。在這個過程中,我們根據輸入樣本給定的初始化權重值和偏置項的值,計算最終輸出值以及輸出值與實際值之間的損失值。如果損失值不在給定的范圍內則進行反向傳播的過程,否則停止初始化權重值和偏置項的更新。第2階段是誤差的反向傳播,從輸出層到隱含層,最后到輸入層,依次調節(jié)隱含層到輸出層的權重和偏置、輸入層到隱含層的權重和偏置,并將誤差分攤給各層的所有單元,從而獲得各層單元的誤差信號,此誤差信號即作為修正各單元權值的依據。最終可以預測出未來24周的企業(yè)的訂購量產能。訓練、驗證和測試結果如圖12~15所示。
圖12 未來24周企業(yè)訂購量產能預測圖
圖13 均方差訓練次數的變化規(guī)律
圖14 BP神經網絡各階段的訓練圖像
圖15 各個樣本集和總體的相關性分析
根據預測出的未來26周的企業(yè)訂貨量,可以看出訂購量產能基本穩(wěn)定在3萬與4萬之間。運用同樣的方法可以預測出供應商在未來26周的供貨量的產能。為了減少個別產能的影響,刪去供貨產能小于100的數據。接著,求出各個供應商在未來24周的平均產能。根據供應商供貨平均產能由大到小進行排序,由于當供應商提供的原材料總和大于最大需求量時即為至少需要的供應商數量,因此將產能由大到小依次累加,直到累加的和大于5萬時停止,共計27家,如表3所示。
表3 供應商在未來24周的平均產能
為了確定未來24周每周最經濟原材料訂購方案,運用多目標線性規(guī)劃來制定原材料訂購方案。建立目標函數
其中,根據選出的27家供應商已經確定出每家供應商可提供的原材料的種類,則
該目標函數表示能夠同時滿足企業(yè)的四個目標。
假設有27個要評價的對象,構成的正向化矩陣如下:
將對其標準化的矩陣記為Z,Z中的每一個元素表示為:
若矩陣Z中存在負數,則對矩陣X進行如下標準化得到Z?。首先定義
接著,將相對熵計算中用到的概率來表示第i項指標下第j個樣本所占比重。上一步求得的非負矩陣為:
下一步計算概率矩陣P,其元素
其中,每一個指標的概率和等于1。最后通過計算各指標的信息值和效用值,通過歸一化得每個指標的熵權。信息熵計算公式如下:
其中,為使得信息熵始終位于[0,1],因此該式子要除以ln(n)。ej越大則表明第j個指標的信息越少。
定義信用效應值為kj=1-ej,信息效應值越大,其對應的信息就越多。最后,將其歸一化可求得每個指標的熵權為:
運用該方法計算出指標的系數λ1,λ2。
計算出兩個指標的系數后,可運用多目標加權線性規(guī)劃,確定其目標函數為:miny=λ1×(1.2dA+1.1dB+dC)+λ2∑∑dij(1-tij)。根據A,B,C采購的單價以及每家轉運商的運輸能力不超過6000 m3/周,各個供應商供貨不超過最大供貨能力,并且供應商的接收量等于需求量時可建立如下條件:
其中:Qi表示不同周的需求量;Mij為轉運量。通過求解該線性方程組,將24周的不同需求量代入Qi,即可解得24周下的最優(yōu)訂購方案。
方案的實施效果可以通過隨機模擬的原料總消耗費用與文中制訂的訂購方案和轉運方案產生的費用進行比較。本文采用仿真模擬隨機取100種產能,模擬100次得出隨機模擬可能產生的24周的總費用。如果隨機模擬產生的總費用大于文中制訂方案下產生的費用,則說明制訂的訂購方案和轉運方案實施效果較好。
建立如下模型:隨機取產能計為Wi,將其隨機分配給選出的27家供應商xi,每家供應商分到的產能計為wij;接著根據每家供應商所生產的原材料種類將產能轉換為對應的原料,xAn表示A類原材料在第n次仿真模擬時的24周的總和,xBn表示B類原材料在第n次仿真模擬時的24周的總和,xCn表示C類原材料在第n次仿真模擬時的24周的總和,由fn=1.2xAn+1.1xBn+xCn計算出每次仿真模擬方案下的費用。當n=100時即進行100次仿真模擬,將100次的模擬費用求解平均值,得到仿真模擬下24周的費用,然后進行如下比較,如表4所示。
表4 仿真結果
續(xù)表
分析表4中的差值可得仿真模擬下費用均大于原制訂方案下的費用,因此可以得出制訂的方案實施效果較好,能夠幫助企業(yè)的經濟可持續(xù),其是在較少費用下實現損耗最小的轉運方案。
本文采用線性規(guī)劃方法,對原材料的訂購和運輸方案進行研究,并通過模擬仿真的方法對得到的方案進行評估。通過仿真結果可以發(fā)現本文給出的方案實施效果較好。但本文的方法沒有考慮到各供應商之間的距離和倉儲的實際存儲能力,在實際應用中這些因素對訂貨方案和運輸方案的制訂都有較大的影響,綜合考慮這些因素的影響將是對該問題進一步研究的方向。