朱念劬, 盛 蓉(復(fù)旦大學(xué) 管理學(xué)院,上海 200433)
ZHU Nian-qu,SHENG Rong (School of Management,Fudan University,Shanghai 200433,China)
在競(jìng)爭(zhēng)日趨激烈的市場(chǎng)中,現(xiàn)代企業(yè)愈發(fā)注重對(duì)自己運(yùn)營(yíng)成本以及客戶服務(wù)質(zhì)量的控制問題。尤其是許多大中型生產(chǎn)企業(yè),它們?cè)谝粋€(gè)生產(chǎn)階段內(nèi)往往會(huì)接到不同買家的多個(gè)訂單,那么如何根據(jù)客戶的重要程度及訂單的數(shù)量,在最優(yōu)化成本的前提下,來制定相應(yīng)的原材料采購(gòu)和生產(chǎn)計(jì)劃,是大家所比較關(guān)心的問題。本文針對(duì)上述問題,結(jié)合原材料生產(chǎn)商/供貨代理商的選擇,以及供貨、物流運(yùn)輸過程中的多階段折扣,給出了相應(yīng)的多目標(biāo)規(guī)劃問題模型和相應(yīng)的啟發(fā)式算法,并用一個(gè)比較簡(jiǎn)單的例子進(jìn)行了驗(yàn)證。
供應(yīng)商選擇以及采購(gòu)配額、生產(chǎn)計(jì)劃決策問題是學(xué)術(shù)界和企業(yè)都十分關(guān)注的優(yōu)化決策問題,許多研究者發(fā)表了相關(guān)的論文,提出了不少的研究方法,尤其是關(guān)于供應(yīng)商選擇的方法有很多種,包括采購(gòu)成本法、層次分析法 (AHP)、數(shù)據(jù)包絡(luò)分析(DEA)、模糊評(píng)價(jià)方法等。目前這方面研究主要集中在兩方面,其一是關(guān)于隨機(jī)需求的供應(yīng)商選擇與采購(gòu)量分配問題,Kasilingam R G、Alain Martel、關(guān)志民等分別針對(duì)隨機(jī)需求下的單階段、多階段以及單階段考慮價(jià)格折扣的問題進(jìn)行了討論[1-3],Sawik、Tadeusz集中研究了多產(chǎn)品生產(chǎn)計(jì)劃的隨機(jī)控制問題[4],Elsevier Amsterdam提出了多產(chǎn)品隨機(jī)需求下的周期策略模型[5],Bassok Y和Anupindi R則將Newsboy問題結(jié)合進(jìn)來,對(duì)零配件的訂購(gòu)決策進(jìn)行考慮,他們所考慮的也是一個(gè)有限階段決策的問題[6]。另一方面的研究集中在確定性的需求下,如Pan A C、Jayaraman V、Narasimhan R等在原材料采購(gòu)量分配方面提出了很多模型和方法[7-9],這當(dāng)中Pan A C、Jayaraman V都將供應(yīng)商的選擇同供應(yīng)量的分配建立在同一個(gè)模型當(dāng)中進(jìn)行考慮[7-8],分別為混合整數(shù)規(guī)劃和線性規(guī)劃,Pan A C的線性規(guī)劃較簡(jiǎn)單,考慮的因素少[7];而Jayaraman V給出了一個(gè)單階段決策的綜合模型[8]。Narasimhan R主要研究了典型的供應(yīng)量分配問題,建立了單階段下大型生產(chǎn)企業(yè)在固定的幾家供應(yīng)商之間的采購(gòu)量分配的數(shù)學(xué)模型[9]。段喆、朱道立在上述文獻(xiàn)的基礎(chǔ)上提出了一個(gè)多階段、多產(chǎn)品、考慮多級(jí)折扣水平的確定性需求的問題,給出了相應(yīng)的供應(yīng)量分配綜合模型并利用簡(jiǎn)單的貪婪算法求解[10]。
縱觀上述關(guān)于采購(gòu)分配問題的研究中,將采購(gòu)和生產(chǎn)計(jì)劃聯(lián)合到一起進(jìn)行考慮所受到的關(guān)注并不多,同時(shí)也很少有學(xué)者將顧客滿意度置入最優(yōu)化問題當(dāng)中,但不同客戶對(duì)于生產(chǎn)企業(yè)的重要性有輕重之分在現(xiàn)實(shí)當(dāng)中是非常普遍的,因此研究這樣一個(gè)問題是有一定實(shí)際意義的。本文所研究的正是多階段、多產(chǎn)品、包括采購(gòu)和運(yùn)輸?shù)亩嗉?jí)折扣水平的確定性需求問題,同時(shí)考慮使得買家的顧客滿意度最大化,以及成本最優(yōu)化的原材料采購(gòu)和生產(chǎn)計(jì)劃制定的多目標(biāo)規(guī)劃問題。
將問題總結(jié)為以下的一些描述和假設(shè):
(1)企業(yè)將整個(gè)生產(chǎn)周期分為D個(gè)時(shí)間段,廠家的生產(chǎn)能力是有限的,一天最多生產(chǎn)A件產(chǎn)品。
(2)企業(yè)的原材料采購(gòu)有兩個(gè)方向,一個(gè)是原材料生產(chǎn)廠家,一個(gè)是原料供應(yīng)代理商。考慮到自身成本,原料生產(chǎn)廠家的發(fā)貨要求每個(gè)原料的單批訂貨量必須超過K1件,訂貨提前期為E1,同時(shí)提供多個(gè)折扣區(qū)段αi。而代理商可以提供小批量訂貨,但是最大供貨能力有限,假設(shè)每件產(chǎn)品的最大供貨量≤K2,訂貨提前期為E2,也提供一定的折扣段βi。上述兩類供貨商均使用總價(jià)折扣法。
(3)企業(yè)在這個(gè)生產(chǎn)周期內(nèi)一共收到m張訂單,其中第k張訂單所訂購(gòu)的產(chǎn)品i的數(shù)量為bki。每張訂單都有合同交貨日期,為L(zhǎng)k,總的生產(chǎn)周期長(zhǎng)度為D,即要在時(shí)段D內(nèi)完成所有訂單的生產(chǎn)任務(wù),并盡量在合同交貨期之前將產(chǎn)品交付。
(4)廠家能夠生產(chǎn)n種產(chǎn)品,其中使用到t種原材料,每生產(chǎn)一件產(chǎn)品i所需的原材料j的數(shù)量為aij。每種產(chǎn)品的體積為Vi,每種原材料的體積為Vn+j,每件原材料j的重量為qj,原始單價(jià)為pj。
(5)企業(yè)的倉(cāng)庫(kù)的倉(cāng)儲(chǔ)能力是有限的,倉(cāng)儲(chǔ)的內(nèi)容包括原材料和未交付的產(chǎn)成品,不妨假設(shè)倉(cāng)庫(kù)的最大容積為V。假設(shè)只有在一張訂單上的所有產(chǎn)品都生產(chǎn)出來以后廠家才會(huì)發(fā)貨,此時(shí)這張訂單的產(chǎn)品數(shù)量就不在庫(kù)存當(dāng)中了。因此每d期的倉(cāng)儲(chǔ)量=第d-1期的倉(cāng)儲(chǔ)量+第d期收到的原材料量-第d期生產(chǎn)消耗的原材料量+第d期生產(chǎn)出的產(chǎn)品量-第d期完成訂單交貨量。
物流運(yùn)輸費(fèi)用分為兩部分,一類是固定費(fèi)用FC,只要有運(yùn)輸任務(wù),就會(huì)產(chǎn)生該費(fèi)用;一類是可變費(fèi)用VC,它是由運(yùn)輸貨物的重量決定的,采取分段折扣法,折扣因子為γt。
(6)決策者的目的首先是實(shí)現(xiàn)總成本的最優(yōu)化,其次是提高顧客服務(wù)水平。從成本的角度來看,由于生產(chǎn)成本和產(chǎn)品的總量以及員工數(shù)有關(guān),在這個(gè)問題當(dāng)中我們假定訂單是已經(jīng)給出的,并且所雇用的員工數(shù)也是無(wú)法改變的,因此這項(xiàng)費(fèi)用比較固定,在模型的目標(biāo)表達(dá)式中不考慮這筆費(fèi)用,不會(huì)影響最優(yōu)化的結(jié)果,因此我們主要考慮和原材料相關(guān)的采購(gòu)、物流以及倉(cāng)儲(chǔ)維護(hù)費(fèi)用。從提高顧客服務(wù)水平的角度來說,本問題中只考慮各張訂單的實(shí)際交貨期相對(duì)合同交貨期提前的時(shí)長(zhǎng),根據(jù)各訂單所對(duì)應(yīng)的買家的重要度不同,權(quán)重為σk,加權(quán)匯總得到的總顧客滿意度最大化。當(dāng)然,在這個(gè)最優(yōu)化的過程中,存在有些訂單不能在合同交貨期之前按時(shí)完成的可能性。
下面引入模型的決策變量:
設(shè)每期初倉(cāng)庫(kù)中的原材料庫(kù)存量為rdj,因此生產(chǎn)周期開始時(shí)的原材料庫(kù)存為r1j;
因此有遞推式:
由生產(chǎn)產(chǎn)品消耗原材料的約束:
ydk——0-1變量,第k張訂單的交貨點(diǎn):
滿足上述假設(shè)的基礎(chǔ)條件ydk≤yd-1,k。
對(duì)訂單k的每個(gè)產(chǎn)品i,因?yàn)橐呀?jīng)有訂單必須完成的約束條件,因此只要給出能說明xdki和ydk的約束,及xdki≤Mydk?i,其中M是一個(gè)極大數(shù)。表明該訂單的生產(chǎn)期結(jié)束即不再生產(chǎn)屬于該訂單的任何產(chǎn)品,由生產(chǎn)周期內(nèi)訂單數(shù)量必須完成的約束,那么就相當(dāng)于給出了該訂單的所有產(chǎn)品都應(yīng)在ydk=1的時(shí)段內(nèi)完成。
倉(cāng)儲(chǔ)總量的限制:
庫(kù)存約束為Wd≤V。
下面考慮成本,由于生產(chǎn)成本不予考慮,因此主要集中在與采購(gòu)相關(guān)的采購(gòu)成本、物流運(yùn)輸成本和倉(cāng)儲(chǔ)成本上。
(1)庫(kù)存成本
(2)采購(gòu)成本
考慮生產(chǎn)商的折扣因子αu和對(duì)應(yīng)的總價(jià)折扣區(qū)間構(gòu)造一組0-1變量表征總價(jià)落在哪個(gè)折扣區(qū)間當(dāng)中,滿足:
同樣考慮生產(chǎn)商的折扣因子βu和對(duì)應(yīng)的總價(jià)折扣區(qū)間構(gòu)造一組0-1變量表征總價(jià)落在哪個(gè)折扣區(qū)間當(dāng)中,滿足:
因此總的物料采購(gòu)費(fèi)用為:
注意到此時(shí)折扣因子的存在使得費(fèi)用關(guān)于決策變量呈非線性,因此在最優(yōu)化計(jì)算中需要進(jìn)行處理才能進(jìn)行。
(3)物流運(yùn)輸成本分為兩部分
①固定費(fèi)用,即在當(dāng)期一旦決定需要采購(gòu)原料,則需要支付的固定費(fèi)用。
需要引入一組對(duì)Cdt和edt的約束:
因而總成本為:
所以這個(gè)多目標(biāo)規(guī)劃的目標(biāo)函數(shù)為min{ P1Z1-P2Z2}。
注意到上述模型中,在三個(gè)多級(jí)折扣的描述中,都出現(xiàn)了非線性的表達(dá)式,必須通過一定的方法轉(zhuǎn)變?yōu)榫€性約束后才能利用數(shù)學(xué)軟件求解。
構(gòu)造三組約束:
在目標(biāo)函數(shù)中,對(duì)成本和客戶服務(wù)水平進(jìn)行權(quán)衡,給予上述兩個(gè)指標(biāo)以相應(yīng)的權(quán)重,就可以將上述多目標(biāo)規(guī)劃問題轉(zhuǎn)換為混合整數(shù)線性規(guī)劃問題。上述介紹的模型在實(shí)際應(yīng)用中應(yīng)當(dāng)屬于規(guī)模比較大的混合整數(shù)規(guī)劃,比如30時(shí)段的模型中決策變量要達(dá)到上千個(gè),如果使用lingo進(jìn)行求解,需要幾天時(shí)間甚至更多,另外約束條件的輸入也相當(dāng)復(fù)雜,操作性比較差。因此本文嘗試了啟發(fā)式算法進(jìn)行求解。啟發(fā)式算法分為兩個(gè)階段,第一階段先找出上述問題的一個(gè)可行解,第二階段通過逐步優(yōu)化改進(jìn)上述可行解得到一個(gè)近似最優(yōu)解。具體操作步驟如下:
第一階段:尋找可行解。
(1)將所有訂單按照顧客服務(wù)水平的權(quán)重進(jìn)行排序;
(2)根據(jù)企業(yè)的最大生產(chǎn)能力約束,按照上述排序依次制定各訂單產(chǎn)品的生產(chǎn)計(jì)劃;
(3)因?yàn)橹挥性谀硰堄唵紊纤械漠a(chǎn)品都生產(chǎn)出來以后才能交貨,因此根據(jù)上述生產(chǎn)計(jì)劃判斷庫(kù)存的產(chǎn)品是否會(huì)造成庫(kù)存溢出,并相應(yīng)地對(duì)生產(chǎn)計(jì)劃進(jìn)行調(diào)整;
(4)根據(jù)上述生產(chǎn)計(jì)劃,計(jì)算各期d所需的原材料數(shù)量,判斷從哪個(gè)貨源進(jìn)貨,根據(jù)貨源的訂貨提前期制定采購(gòu)計(jì)劃;
(5)計(jì)算上述過程中的采購(gòu)費(fèi)用、物流費(fèi)用和庫(kù)存費(fèi)用。從而得到了一組可行解,顯然它不是最優(yōu)的,因此進(jìn)入下一步驟。
第二階段:優(yōu)化改進(jìn)。
(6)從最后一期開始,計(jì)算各期庫(kù)存中的剩余空間,推算如果將下一期生產(chǎn)需要的原料盡可能地提前到這期采購(gòu)能否提高折扣等級(jí),相應(yīng)降低的采購(gòu)成本與因此增加的庫(kù)存成本哪個(gè)更大,決定是否將采購(gòu)批次合并,轉(zhuǎn)向 (7);
(7)計(jì)算當(dāng)前解的客戶服務(wù)水平指標(biāo) (可能有些訂單會(huì)在合同交貨期后才能完成,這種情況在現(xiàn)實(shí)中的確存在),嘗試是否存在交換兩個(gè)訂單的順序,根據(jù)第一階段中的方法相應(yīng)地改變生產(chǎn)計(jì)劃,使得最終顧客服務(wù)水平提高。如果存在,根據(jù) (7)中新的生產(chǎn)計(jì)劃利用 (4)、(6)兩步得到相對(duì)的采購(gòu)計(jì)劃,再根據(jù) (5)計(jì)算總成本是否得到改進(jìn),轉(zhuǎn)向 (8);
(8)計(jì)算各期企業(yè)的生產(chǎn)能力剩余,嘗試是否存在將一些訂單的產(chǎn)品生產(chǎn)提前,能夠提高客戶服務(wù)水平指標(biāo)。如果存在,則改變生產(chǎn)計(jì)劃,并相應(yīng)地調(diào)整采購(gòu)計(jì)劃和庫(kù)存量估計(jì),然后轉(zhuǎn)向 (6);
(9)若經(jīng)過上述3步都沒有發(fā)生改變,那么可以認(rèn)為得到了問題的一個(gè)穩(wěn)定解。
可以看到,上述啟發(fā)式算法能夠在較短的時(shí)間內(nèi)得到問題的一個(gè)比較滿意的解,解的優(yōu)化程度和運(yùn)算的時(shí)間部分相關(guān),運(yùn)行時(shí)間越長(zhǎng),得到解的效果就越好。
對(duì)于小規(guī)模的此類模型,可以使用lingo求解或編程使用遞歸的搜索方法,下面就給出一個(gè)小規(guī)模模型的例子。
考慮一個(gè)比較簡(jiǎn)單的2產(chǎn)品2原料3訂單的例子,生產(chǎn)周期D=5,只考慮向原料生產(chǎn)商訂貨,訂貨提前期為1單位時(shí)間。這組數(shù)據(jù)的規(guī)模比較小,可以優(yōu)化得到最優(yōu)解。
表1 產(chǎn)品生產(chǎn)的原材料構(gòu)成
表2 訂單具體信息
企業(yè)的生產(chǎn)能力為每天5000件產(chǎn)品,單位庫(kù)存費(fèi)用為0.15。運(yùn)輸每次固定費(fèi)用為2000,單位重量費(fèi)用為0.3。單次采購(gòu)費(fèi)用超過25000后享受9折的優(yōu)惠。經(jīng)過權(quán)衡以后,客戶服務(wù)水平在目標(biāo)函數(shù)中的系數(shù)為10000,成本的系數(shù)為1。將上述參數(shù)代入模型輸入到lingo中進(jìn)行求解。
得到模型的最優(yōu)解
表3 產(chǎn)品、原材料系數(shù)
表4 Lingo求解最優(yōu)生產(chǎn)計(jì)劃
因此在最優(yōu)決策下,總成本為90550,客戶服務(wù)水平指標(biāo)為3.7。
下面試著用上述啟發(fā)式解法來求解這個(gè)例子。
首先找出可行解 (有初始原材料庫(kù)存約束):訂單的排序?yàn)?、2、3。
表5 Lingo求解最優(yōu)采購(gòu)計(jì)劃
表6 啟發(fā)式算法找出可行解
客戶服務(wù)水平為指標(biāo)0.8,總成本為108998.6,其中采購(gòu)、物流、倉(cāng)儲(chǔ)成本分別為67500,23600,17898.6。
根據(jù) (7),發(fā)現(xiàn)交換訂單2和訂單1的生產(chǎn)順序之后,可以實(shí)現(xiàn)服務(wù)水平的提高。由此改進(jìn)了解。
客戶服務(wù)水平指標(biāo)為3.7,總成本為91100,其中采購(gòu)、物流、倉(cāng)儲(chǔ)成本分別為65000,21600,4500。
轉(zhuǎn)向 (6),發(fā)現(xiàn)將三次采購(gòu)合并為兩次,并適當(dāng)提高第一次采購(gòu)的量,能夠使得第一次采購(gòu)享受到折扣,并且降低物流成本,因此調(diào)整當(dāng)前解。
表7 啟發(fā)式算法改進(jìn)可行解
表8 進(jìn)一步調(diào)整當(dāng)前可行解
客戶服務(wù)水平指標(biāo)為3.7,總成本為90550,其中采購(gòu)、物流、倉(cāng)儲(chǔ)成本分別為63000,19600,7950。
再循環(huán)一次第二階段步驟沒有發(fā)生改變,因?yàn)檎J(rèn)為得到了一組滿意解,和用Lingo計(jì)算得到的最優(yōu)解是完全一致的。因此認(rèn)為在問題規(guī)模比較小的條件下,使用啟發(fā)式解法也可以通過有限次循環(huán)得到問題比較滿意的近似最優(yōu)解。
本文提出了一種兼顧生產(chǎn)型企業(yè)的生產(chǎn)采購(gòu)成本和客戶服務(wù)水平,可以在多原材料供應(yīng)商、代理商以及多級(jí)采購(gòu)、物流折扣條件下的原料采購(gòu)、生產(chǎn)計(jì)劃聯(lián)合最優(yōu)化決策模型,給出了相應(yīng)的啟發(fā)式算法,并通過一個(gè)簡(jiǎn)單的例子檢驗(yàn)了它的實(shí)用性。尤其是目前眾多大中型企業(yè)都特別關(guān)注采購(gòu)成本,本文提出了共同制定采購(gòu)與生產(chǎn)計(jì)劃,并且比較創(chuàng)新地將客戶服務(wù)水平融入模型中,具有一定的實(shí)際意義。
在企業(yè)的運(yùn)營(yíng)中,大規(guī)模的最優(yōu)化問題占絕大多數(shù),小規(guī)模的模型一般很難解決實(shí)際中遇到的問題。本文在實(shí)現(xiàn)運(yùn)營(yíng)成本最優(yōu)和顧客滿意度最大化的建模中,使用了比較多的決策變量,從理論上來看是比較完善的,但是在實(shí)際計(jì)算中顯得較為復(fù)雜,本文提出的啟發(fā)式算法是否總是能夠得到較好的近似解仍然是一個(gè)疑問,可能隨著初始可行解獲取的不同而產(chǎn)生波動(dòng)。當(dāng)然,也可以通過在模型中減少時(shí)段數(shù)量等方法來降低計(jì)算復(fù)雜度,用小規(guī)模的模型去解原本大規(guī)模的問題,各時(shí)段內(nèi)的生產(chǎn)安排可以由具體操作者靈活掌控,這也不失為一種辦法。同時(shí),本文的所有討論都是基于確定性需求的前提下,而在考慮隨機(jī)產(chǎn)生訂單的時(shí)候,模型就會(huì)顯得十分復(fù)雜,目前未能提出很好的解決辦法。另外,在多級(jí)折扣因子的表達(dá)式中,如何優(yōu)化模型的約束,將其轉(zhuǎn)換為線性規(guī)劃模型,也是值得關(guān)注的方向。
[1]Kasilingam R G,Lee C P.Selection of vendors-a mixed-integer programming approach[J].Computers&Industrial Engineering,1996,31(10):347-350.
[2]Alain Martel,Moustapha Diaby,Fayez Boctor.Multiple items procurement under stochastic nonstationary demands[J].European Journal of Operational Research,1995,87:74-92.
[3]關(guān)志民,周寶剛,馬欽海.多產(chǎn)品采購(gòu)條件下的供應(yīng)商選擇與訂購(gòu)量分配問題研究[J].計(jì)算機(jī)集成制造系統(tǒng),2005,11(11):1626-1632.
[4]Sawik,Tadeusz.Stochastic optimal control of a multi-facility,multi-product production scheduling with random times of supplies[J].Control Cybernet,1977,6(3-4):21-35.
[5]Elsevier Amsterdam.Multi-product stochastic-demand periodic-review inventory and production cycling policies[J].Inventory in Theory and Practice,1986,3:489-503.
[6]Bassok Y,Anupindi R.Analysis of supply contracts with total minimum commitment[J].IIETransactions,1997,29:373-381.
[7]Pan A C.Allocation of order quantity among suppliers[J].Journal of Purchasing and Materials Management,1989(3):36-39.
[8]Jayaraman V,Srivastava R,Benton W C.Supplier selection and order quantity allocation:a comprehensive model[J].The Journal of Supply Chain Management,1999(1):50-58.
[9]Narasimhan R,Stoynoff L K.Optimizing aggregate procurement allocation decisions[J].Journal of Purchasing and Materials Management,1986(1):23-30.
[10]段喆,朱道立.多階段多產(chǎn)品供應(yīng)量分配的綜合模型[J].系統(tǒng)工程,2004,22(6):21-24.