劉丹陽LIU Dan-yang;高翔宇GAO Xiang-yu
(沈陽大學(xué)機(jī)械工程學(xué)院,沈陽 110044)
隨著現(xiàn)代市場經(jīng)濟(jì)的快速發(fā)展,企業(yè)之間的競爭已經(jīng)演變成供應(yīng)鏈之間的競爭。核心企業(yè)將其核心技術(shù)與產(chǎn)品控制在自己的手里,業(yè)務(wù)轉(zhuǎn)交給供應(yīng)鏈下游的供應(yīng)商,從而對供應(yīng)鏈上的物流、資金流、信息流進(jìn)行整體優(yōu)化,通過實(shí)現(xiàn)供應(yīng)鏈的整體效益最大化來獲得企業(yè)的競爭優(yōu)勢。本文通過對供應(yīng)商選擇于訂單分配的研究以增加企業(yè)的競爭能力。
現(xiàn)有研究中,Garfamy[1]利用DEA 法來評估供應(yīng)商,該模型主要利用成本指標(biāo),能以最低的成本提供最佳的供應(yīng)商選擇。Lee 等[2]利用FAHP 法整合德爾菲法來進(jìn)行供應(yīng)商評估。德爾菲法被用來區(qū)分評估傳統(tǒng)供應(yīng)商與綠色供應(yīng)商的指標(biāo)。范志強(qiáng)[3]建立了更加符合實(shí)際需求的訂單分配多目標(biāo)混合整數(shù)規(guī)劃模型,并設(shè)計(jì)了一種模擬退火算法,解決訂單分配過程中的產(chǎn)品缺陷問題。Nima 等[4]提出了一種模糊偏好規(guī)劃和基于區(qū)間的理想解法相結(jié)合的供應(yīng)商評價(jià)方法,建立了模糊多目標(biāo)線性規(guī)劃模型。Sudhir Barange 等[5]建立了可持續(xù)供應(yīng)鏈管理的層次分析法,利用可持續(xù)供應(yīng)商選擇決策標(biāo)準(zhǔn)的主動整合開發(fā)動態(tài)策略,使其在整個供應(yīng)鏈中有效地發(fā)揮作用。牟能冶等[6]為構(gòu)建不確定環(huán)境下的可持續(xù)供應(yīng)商選擇模型,提出基于PDHFLTS 與群決策理論的三階段決策方法,以降低可持續(xù)供應(yīng)商選擇的復(fù)雜度。劉森等[7]針對從環(huán)境管理體系和員工權(quán)益等四方面衡量供應(yīng)商的可持續(xù)性,提出了基于模糊最優(yōu)最劣法決策模型,計(jì)算出更加客觀的指標(biāo)權(quán)重。Shan-Yong You 等[8]建立了多目標(biāo)線性規(guī)劃(MOLP)模型以在選定的供應(yīng)商之間分配合理的訂單數(shù)量,采用雙層次猶豫語言術(shù)語集(DHHLTS)處理評估替代供應(yīng)商的可持續(xù)績效時(shí)的不確定。
綜上所述,國內(nèi)外眾多學(xué)者在供應(yīng)商選擇領(lǐng)域取得了豐富的研究成果,但大部分研究仍局限于環(huán)境因素以及社會因素對可持續(xù)供應(yīng)商選擇與訂單分配的影響,相較其經(jīng)濟(jì)因素研究的較少,考慮到運(yùn)輸提前期或最低起訂量要求的更少。因此,本文研究經(jīng)濟(jì)因素中的運(yùn)輸特性(運(yùn)輸提前期和供應(yīng)商的能力)和買方的貨幣限制對可持續(xù)供應(yīng)商選擇與訂單分配的影響。
本文針對兩個或多個異構(gòu)供應(yīng)商和一個買方之間的供應(yīng)商選擇問題進(jìn)行研究。供應(yīng)商之間的區(qū)別在于所提供物品的類型和銷售價(jià)格、交貨提前期以及最小訂單數(shù)量要求??紤]到每個供應(yīng)商的特點(diǎn),買方必須在每個周期開始時(shí)做出SSS & OA 決策。買方試圖實(shí)現(xiàn)的目標(biāo)是最小化整個計(jì)劃范圍內(nèi)相關(guān)成本的凈現(xiàn)值。相關(guān)參數(shù)如下:
i:物料編號;
j:三重底線原則,即j=經(jīng)濟(jì),社會,環(huán)境;
k:供應(yīng)商編號;
t:周期(計(jì)劃展望期的結(jié)束期);
r:每期折扣;
M:一個無限大的數(shù)字;
K:銷售商品的供應(yīng)商編號;
I:供應(yīng)商出售商品編號;
vi:i 項(xiàng)目數(shù)量
wct:買方在t 期的庫存容量;
hi:項(xiàng)目i 的持有成本;
bi:項(xiàng)目i 的短缺成本;
Dit:物料i 未來期間的預(yù)測;
ξit:Dit誤差的標(biāo)準(zhǔn)偏差;
pikt:買方在t 期間向供應(yīng)商k 支付的項(xiàng)目i 的單位購買價(jià)格;
pikt:在t 期內(nèi)供應(yīng)商k 項(xiàng)目i 現(xiàn)貨市場單價(jià);
owclt:t 期運(yùn)營資金限額;
captt:最初分配給t 期的資金;
ict:t 期庫存控制相關(guān)成本;
rct:t 期補(bǔ)貨相關(guān)成本;
moqik:供應(yīng)商k 為i 指定的每期最小訂單數(shù)量;
mpak:供應(yīng)商k 設(shè)定的每期最低采購金額;
mpilik:供應(yīng)商k 指定的i 的最大采購限額;
scjk:供應(yīng)商k 的三重底線原則j 因子得分;
targetjt:三重底線因子j 在t 期目標(biāo)得分;
fkt:t 期間供應(yīng)商k 的每輛車的運(yùn)費(fèi);
Vk:供應(yīng)商k 每輛車的容量;
NVkt:t 時(shí)間內(nèi)供應(yīng)商k 可用于運(yùn)輸?shù)能囕v數(shù);
xikt:在過去t 期開始時(shí)供應(yīng)商k 交付的項(xiàng)目i 已經(jīng)進(jìn)行的采購;
IPio:計(jì)劃開始時(shí)物料i 的庫存容量;
IPit:t 期結(jié)束時(shí)i 項(xiàng)的庫存狀態(tài);
IP+a:IPit的有利狀態(tài);
IP-a:IPit的損失狀態(tài);
Xki:從供應(yīng)商k 處購買i 項(xiàng)的金額;
Xkit:t 期間從供應(yīng)商k 處購買i 項(xiàng)的計(jì)劃金額;
zi:本期從現(xiàn)貨市場購買商品i 的數(shù)量;
zit:t 期從現(xiàn)貨市場購買i 項(xiàng)目的計(jì)劃數(shù)量;
RLit:計(jì)劃在t 期開始時(shí)訂單到達(dá)后物料i 的補(bǔ)充水平。
等式(1)中的目標(biāo)函數(shù)是最小化預(yù)期總成本的現(xiàn)值,該現(xiàn)值是庫存和補(bǔ)充相關(guān)成本的總和;等式(2)強(qiáng)制規(guī)定物料I 的補(bǔ)充水平是初始庫存、現(xiàn)貨市場采購和計(jì)劃在此期間從每個供應(yīng)商處到達(dá)的訂單的總和;等式(3)規(guī)定,在周期t 結(jié)束時(shí),物料I 的凈庫存等于周期t 開始時(shí)的庫存狀況減去由于周期t 期間物料I 的需求而導(dǎo)致的損耗;等式(4)規(guī)定,在周期t 結(jié)束時(shí),物料的凈庫存IPit,等于周期t 結(jié)束時(shí)物料I 的現(xiàn)有庫存水平IP+it減去周期t 結(jié)束時(shí)物料的短缺水平IPit;等式(5)-(8)描述了供應(yīng)商設(shè)定的客戶服務(wù)水平(t 期庫存控制相關(guān)成本和t 期補(bǔ)貨相關(guān)成本),等式(9)和(10)描述了最大購買限額的約束;等式(11)和(12)是針對最小訂貨量要求的,約束是供應(yīng)商k 的最小訂單量,是一個二元變量,用于按計(jì)劃加強(qiáng)關(guān)系,變量M是一個非常大的數(shù)字,僅在下訂單時(shí)用于激活最小訂單約束。因此,如果買方從供應(yīng)商k 處購買物品,則等式(11)中的參數(shù)將變?yōu)?,從而驗(yàn)證等式(12)并實(shí)施最小訂單量要求。
BF 算法可以形式化描述如下:
步驟1:(初始化)設(shè)定當(dāng)前周期為周期1,當(dāng)前庫存水平zio,i=1,2,3,…,I。所有未來期間的預(yù)測需求dit,t=1,2,3,…,t。
步驟2:(為第一次運(yùn)行生成子問題)通過移除最小訂單量和物料需求計(jì)劃約束MIP1 中的等式(12)來構(gòu)造子問題。
步驟3:(運(yùn)行子問題)運(yùn)行當(dāng)前子問題。
步驟4:(檢查狀態(tài)和分支)檢查步驟3 的輸出。如果狀態(tài)是PF 或CF,其是部分可行或完全不可行的情況,如果沒有約束可加,則給定問題不可行,終止。如果狀態(tài)為PF,請轉(zhuǎn)到步驟5,否則,請轉(zhuǎn)到步驟6。
步驟5:(部分可行性案例)對于步驟5,可分為凍結(jié)輸出、重新初始化以及添加一個子問題。對于凍結(jié)輸出,屬于凍結(jié)可行期間的輸出;對于重新初始化,讓起始周期成為第一個不可行周期,將當(dāng)前庫存水平重置為最后一個可行周期的凈庫存水平。
步驟6:(完成不可行案例)步驟6 重復(fù)步驟5 部分可行中的不可行部分,通過添加供應(yīng)商的最小起訂量或最大生產(chǎn)量約束條件產(chǎn)生一個新的子問題,如果在之前的運(yùn)行中造成了不可行性,則轉(zhuǎn)到步驟3。(圖1)
圖1 分支凍結(jié)算法的流程圖
本文進(jìn)行數(shù)值實(shí)驗(yàn)時(shí)考慮了兩個目標(biāo),第一個是通過與商業(yè)軟件工具(GAMS/XPRESS 求解器)進(jìn)行比較用以測試BF 算法的準(zhǔn)確性;數(shù)值實(shí)驗(yàn)中使用的GAMS 是一種非常流行的建模語言,包含許多強(qiáng)大的解算器。因此,通過該商業(yè)軟件工具驗(yàn)證BF 算法的準(zhǔn)確性,以及其在解決最大可解問題規(guī)模的優(yōu)勢。
該實(shí)驗(yàn)的目的是通過將使用分支凍結(jié)算法獲得的結(jié)果與GAMS/XPRESS 解算器的結(jié)果進(jìn)行比較來判斷BF 算法的準(zhǔn)確性。比較實(shí)驗(yàn)是在假設(shè)物品的需求是從一個穩(wěn)定的需求過程中產(chǎn)生的情況下進(jìn)行的。之前大多數(shù)關(guān)于庫存管理的研究都是通過假設(shè)需求遵循一個平穩(wěn)的需求過程進(jìn)行實(shí)驗(yàn)的,本實(shí)驗(yàn)也是假設(shè)其滿足正態(tài)分布進(jìn)行的。項(xiàng)目類型的數(shù)量設(shè)置為五個。每個項(xiàng)目的實(shí)際需求數(shù)據(jù)由五個不同的正態(tài)分布生成
為了獲得平均總成本,對每個設(shè)置重復(fù)實(shí)驗(yàn)10 次。以這種方式獲得的平均成本被插入到下面的百分比偏差度量中,以確定BF 算法的準(zhǔn)確性。
對于此次實(shí)驗(yàn),假設(shè)系統(tǒng)中有10 個供應(yīng)商,運(yùn)輸提前期為零,每一個供應(yīng)商可以交付五種類型的產(chǎn)品,單位周期長度為四周,規(guī)劃期限為48 周,其輸入?yún)?shù)如表1-表3 所示。
表1 對比實(shí)驗(yàn)的參數(shù)
表2 每個項(xiàng)目的參數(shù)
表3 每個供應(yīng)商的參數(shù)
實(shí)驗(yàn)的結(jié)果如表4 所示。通過采用BF 算法與商業(yè)求解器(GAMS/XPRESS 求解器)和NSGAⅡ?qū)Ρ瓤芍?,BF 算法在解決問題的平均年貼現(xiàn)成本、平均百分比偏差、平均處理時(shí)間和解決子問題的平均數(shù)等四個方面均優(yōu)于NSGAⅡ和GAMS 算法。因此可知,BF 算法能夠找到接近最優(yōu)的解,其作為一種啟發(fā)式算法,其求解大型問題上,可以解決其現(xiàn)有工具不能有效解決的問題。
表4 精準(zhǔn)度測試結(jié)果
為解決優(yōu)化模型而開發(fā)的各種軟件工具,其對在合理的計(jì)算時(shí)間內(nèi)可以解決的問題有最大數(shù)量限制??紤]到這一限制,本文通過對比商業(yè)軟件工具和BF 算法在解決問題的最大規(guī)模用以分析BF 算法的有效性。在實(shí)驗(yàn)中,選擇GAMS/XPRESS 和GAMS/COINGLPK 解算器進(jìn)行比較,問題的計(jì)劃范圍被固定為12 個時(shí)間段,并且供應(yīng)商的數(shù)量被設(shè)置為項(xiàng)目數(shù)量的10 倍。最大計(jì)算時(shí)間限制設(shè)置為24 小時(shí)。此次實(shí)驗(yàn)增加了項(xiàng)目的數(shù)量,直到每個方法都無法在時(shí)間限制內(nèi)找到解決方案,表明BF 算法在解決問題的項(xiàng)目數(shù)、變量數(shù)和約束數(shù)均優(yōu)于GAMS 求解器,并且其求解問題規(guī)模高于GAMS2.4 倍。
①本文研究買方從兩個或兩個以上的異質(zhì)供應(yīng)商選擇以及訂單分配問題。首先對供應(yīng)商選擇與訂單分配問題進(jìn)行了描述,在此基礎(chǔ)商構(gòu)建了包含最小起訂量和最大生產(chǎn)量的限制、營運(yùn)資金限制及3BL 可持續(xù)性目標(biāo)的優(yōu)化模型;
②通過數(shù)值實(shí)驗(yàn)對算法進(jìn)行了測試,測試結(jié)果表明本文所構(gòu)建的模型反映供應(yīng)商選擇與訂單分配的有效性,所設(shè)計(jì)的算法能夠在允許的時(shí)間內(nèi)獲得穩(wěn)定的滿意解,同時(shí)在解決問題的時(shí)間和子問題的數(shù)量上均優(yōu)于NSGA Ⅱ。