徐春秋,荊 雨
(鄭州大學 管理工程學院,河南 鄭州 450001)
目前國內外很多學者已將節能減排納入企業生產運營及供應鏈管理中進行研究[1]。在國家政策法規和消費者低碳偏好等多重因素的聯合推動下,制造商開始通過研發低碳產品、設計低碳生產線、規劃綠色物流運輸路徑等手段,來達到節能減排的目標。在本文課題組前期的工作中,已經通過微分博弈的方法論證了在消費者低碳偏好的驅動下,制造商通過節能減排,能夠占領更大的市場份額,從而獲取更大的經營利潤[2]。
然而,更大的市場意味著需要制造更多的產品,在低碳工藝的限制下,每單位的產品在制定生產計劃、原材料采購、產品制造、產品交付和產品回收等各個環節都需要消耗一定的碳配額。同時,各系列產品的產量需要根據市場需求動態調控,如果產能過剩則會增加庫存壓力,造成經濟損失,反之,如果產能不足則會影響客戶滿意度。為了在滿足碳配額約束的前提下,增加經營利潤,本文從制造商的角度出發,進一步研究了制造商的生產任務調度問題。
本文內容包括以下幾個方面。
(1)在ARIMA模型的基礎上,拓展了模型的預測維度,能夠同時對多種產品的需求進行多步預測,以實現企業對市場需求的及時感知;
(2)在考慮碳配額約束的基礎上,對蟻群算法進行優化,設計了一種生產任務調度策略;
(3)分別在RStudio、MATLAB上進行工作流合成和算法仿真,對本文提出的調度策略進行評估。
在低碳經濟的背景下,在研究制造商制造決策問題時引入碳配額約束成為一種新的趨勢。在國內外學者的共同努力下,關于市場需求預測和制造任務分配問題的研究已經取得了一定的成果。
需求預測作為企業計劃、決策的重要依據,能夠在很大程度上影響制造商的制造決策。當前解決需求預測問題的一般步驟是:首先,采集過去一段時間的需求數據構成時間序列;其次,根據使用場景,建立適當的時間序列模型(如自回歸模型(autoregressive model,AR模型)、Holt-Winters模型、ARIMA模型、模糊預測模型和基于人工神經網絡技術的時間序列預測模型等);最后,通過模型預測未來需求[3]。在能源制造領域,Xu等[4]提出了一個動態向量自回歸模型,用于預測中國鋼鐵行業的二氧化碳(carbon dioxide, CO2)排放量,分析影響CO2排放量的因素,從而為當局制定能源政策和規劃提供參考。Ventura等[5]基于Holt-Winters模型和人工神經網絡模型實現了對PM2.5排放量的有效預測。在航空運輸領域,Dantas等[6]針對需求預測問題,結合機器學習技術對Holt-Winters模型進行優化,提高了模型的預測精度。在食品制造領域,Fattah等[7]基于ARIMA模型實現了對市場需求的精確預測,從而為制造商的供應鏈決策提供指導。Rizkya等[8]通過運用ARIMA模型,對某產品的不同配送中心的需求進行預測,并通過實驗驗證預測性的良好。Noh等[9]將遺傳算法與門控循環單元相結合,開發出一種新的GA-GRU的混合預測模型,提高了對產品需求預測的準確度。為了提高供應鏈系統的整體運作效率,優化資源配置,Jilimci等[10]通過向量回歸算法和不同的時間序列分析模型相結合,提高整個供應鏈系統預測的準確性。上述工作在不同的應用領域發揮了良好的作用,為解決制造商需求預測問題提供了借鑒思路。然而,由于市場對制造商旗下不同產品的需求各不相同,為了精準決策,需要進一步縮小預測的粒度。因此,需要對現有模型的預測維度進行拓展。
制造商任務分配問題與背包問題類似,是一種NP困難問題。解決此類問題的一般思路是:先建立模型,然后根據優化目標進行求解。當問題規模較小時,可以用整數規劃的方法進行求解。隨著問題規模的擴大,為了保證求解效率,可以通過遺傳算法,粒子群算法等啟發式算法進行求解[11]。作為啟發式算法之一,蟻群算法最初是為解決旅行商問題而提出的。在研究人員的不斷努力下,蟻群算法經過演化變形,已經被廣泛應用在求解線性規劃問題,非線性優化問題,多目標優化問題等不同場景中。Ivars等[12]建立了兩種并行ACO架構(獨立蟻群和并行螞蟻)對供應鏈網絡實現動態分析,得出隨著并行實例數量的增加,并行螞蟻可以在更少的迭代中達到更高的解決方案質量。為了解決多準則供應商選擇問題,Luan等[13]基于遺傳算法和蟻群優化算法,開發了遺傳算法和蟻群算法的混合算法,并在數值實驗中驗證了其可行性和有效性。在供應鏈協調管理方面,Lu等[3]將事件放入動態的供應鏈網絡中,通過應用具有粒子群優化和蟻群優化的混合算法建立模型,并得出基于事件的混合算法模型具有優于粒子群和蟻群的有效性和優越性。在供應鏈聯合庫存管理與成本優化方面,Yu等[14]針對目前的研究成果和不足,利用蟻群算法和模糊模型的基本思想,提出了一種更加系統,完善的供應鏈庫存優化模型,適應集成供應鏈管理的庫存控制問題。唐慧玲等[15]考慮帶有碳排放約束的車輛路徑問題,提出了一種改進的蟻群系統算法對多目標的非線性規劃模型進行求解,并得出改進蟻群算法能夠較好地處理低碳車輛路徑問題。Nurjanni等[16]為解決當前形勢下供應鏈管理方法與環境、經濟問題等的平衡,建立了一個多目標優化數學模型,在計算的過程中利用加權和方法對模型進行優化,并得出模型處理成本與環境問題之間權衡的能力。
制造商研究如何在市場需求、資源人力等因素的約束下,科學合理制定生產計劃,并為生產車間分配生產任務,從而獲得最優利潤的問題可以歸納為制造商任務分配問題。為了更好地對該問題進行描述,我們把制造商任務分配決策框架劃分為3個層次,分別為企業資源池層、決策平臺層和生產車間層,具體框架如圖1所示。

圖1 制造商任務分配決策框架
企業資源池層包括企業獲得的碳配額、人力資源、原產料等維持生產所需要的資源。本文在人力資源與原材料一定的情況下,制造商在碳配額的約束下為各個生產車間進行任務分配,同時也為其分配了完成該任務所需要消耗的資源。決策平臺由需求管理、資源管理、效益管理3個模塊組成,以市場需求為依據,在有限資源的約束下,尋找一個最優決策,以獲得期望效益。其中,調度決策過程如圖2所示。

圖2 調度決策過程
首先,傳感器獲取市場上客戶對旗下各類產品的需求量,企業資源池中各種資源的狀態,企業制定的經濟效益目標等信息;通過改進后的ARIMA模型對下一階段的市場需求進行合理預測;把預測結果和所需資源列表發送給全局調度器。
算法1: 全局調度算法
PROCESS: Global_Scheduler()
INPUT:R(t),U(t)
OUTPUT:X(t)W(t)
(1) ifΡ(t)&U(t) do
(2) ACO(R,U,X)
(3) generateW(t) byX(t)
(4) allocateW(t) toL(t)
(5) done
(6) end if
(7) end procedure
其次,全局調度器根據預測結果和資源狀態,調用優化蟻群算法對制造商任務分配問題進行求解,得到任務分配矩陣,并下達給生產車間。實現過程如算法1所示。
最后,工作在生產車間層的本地調度器,根據接收到的生產任務,調度本身擁有和分配而來的資源,組織生產。實現過程如算法2所示。
算法2: 本地調度算法
PROCESS: Local_Scheduler()
INPUT:X(t)W(t)
(1) for d in 1∶k do
(2) ifX[d][i]!=0 do
(3)W[i]=W[i]-X[d][i]*E[d]
(4) allocate resource to production
(5) done
(6) end if
(7) done
(8) end procedure
生產車間是具體執行產品制造任務的實體。各個車間接收任務后,需要根據任務量,統籌資源,進行生產。同時,生產車間需要及時上報資源狀態,為制造商決策提供依據。
為了方便問題量化求解,可以對相關的實體進行抽象,實體參數表示及其對應的含義見表1。

表1 系統模型參數及其對應的含義
當目標為利潤最大化時,制造商任務分配問題的目標方程如式(1)所示
(1)
約束方程如下
(2)
(3)
(4)
(5)
(6)

當前,市場對不同產品的需求數量是動態變化的,制造商對市場偏好變化的感知往往存在一定的滯后性。如果采用靜態的任務分配策略指導生產,容易因反應滯后而導致前期供不應求影響市場占有,后期供大于求造成產品積壓。
解決該問題的普遍思路是通過建立合適的預測模型,提前預測市場變化。ARIMA模型作為最常見的時間序列預測的模型之一,已經被廣泛應用于供應鏈中,在需求預測方面提供了良好的預測性能。現有ARIMA模型主要以單一參數為預測對象,如某種資源、某種產品。然而,制造商旗下的產品往往涵蓋了不同類別,不同型號,為了精細化生產計劃,需要在現有ARIMA模型的基礎上對預測維度進行擴展。ARIMA模型建模過程如圖3所示。

圖3 ARIMA模型建模過程

(7)

(8)
(9)

(10)
(4)對模型參數B=(λ1λ2…λp1θ1θ2…
θq) 進行估計,常用的估計方法有最小二乘法和極大似然估計。把式(10)中的不可觀察量 {ξt} 提到一邊,可得式(11)
(11)
(12)


(13)
用式(14)表示對一種產品進行預測。同理,可以對預測模型進行維度拓展,由于P=[1,2,…,k] 表示旗下所有產品的集合,所以拓展后的預測模型可以用式(15)來表示,即運行一次預測算法即可對多種產品的市場需求進行多階段預測

(14)
(15)
結合制造商生產任務分配問題實際,對蟻群算法的算法流程和參數設置進行優化。
首先,利用傳統蟻群算法求解生產任務分配策略時,為了得到全局最優策略,需要頻繁變更各生產車間的任務。然而,在實際生產中為了保證生產效率,各生產車間生產的產品的種類一般相對固定。頻繁變更生產的產品類別意味著需要對人員進行培訓或者調動,這與提高生產效率的初衷是相悖的。為了避免系統頻繁干涉生產過程,可以對各條生產車間上的當前任務進行記憶。對比市場需求預測結果,與生產車間任務狀態,在執行算法時盡量保證生產類別一致,只對生產數量進行調整。
其次,考慮各條生產車間的負荷均衡問題,改進傳統蟻群算法,賦予螞蟻車間負荷狀態感知的能力。我們定義車間生產負荷在最高負荷的[low,High]之間,稱為正常負荷。如式(16)所示,負荷低于Low成為低負荷車間。反之,高于High則成為高負荷車間,如式(17)所示。其中,閾值Low和High的值可以根據生產實際進行調整。如果生產車間負荷過高,容易損耗機器壽命,甚至影響車間的穩定運轉。設計算法時,需要提高該類生產車間的信息素濃度,激勵螞蟻為其分配更多的生產任務。負荷過低時,則會造成資源浪費,影響經營利潤。設計算法時,需要降低該類生產車間的信息素濃度,以達到減少任務量的效果
(16)
(17)
運用優化蟻群算法求解制造商任務分配問題的總體流程如圖4所示。

圖4 優化蟻群算法總體流程
(2)產生初始任務分配方案K0。 按照先到先分配的原則,依次把產品生產任務分配到每個車間,之后生成并初始化一只螞蟻。

(3)把生產任務分配給生產車間。在t時刻螞蟻A把任務pj分配給Li的概率如式(18)所示。其中,TP表示待分配任務表,TL表示未過載的生產車間表
(18)
(4)更新TP和TL,假設pj已經被完全部署于Li,把pj從TP移出。若Li負荷超過設置的閾值,將其從TL移出,并返回(3),否則跳到(5);
(5)計算當前方案下的制造商利潤LR,更新當前最優解;
(6)根據生產車間狀態更新信息素矩陣。更新方式如式(19)所示,其中ρ為揮發因子
(19)
(7)根據設置的迭代次數,循環執行(2)到(6)。全部運行結束后,得到全局最優解,在MATLAB中進行仿真,并記錄結果。
實驗基于RStudio Version 1.3.1056(R版本為4.0.2)和MATLAB R2013a(8.1.0.604)完成。在RStudio上進行時間序列合成、取樣及預測。然后,把需求預測的結果導入MATLAB,運行優化蟻群算法,并記錄仿真結果。分為預測模型性能評價、優化蟻群算法性能評價兩個部分,分別與相關工作進行實驗對比,對提出的任務分配策略的性能進行評價。
借鑒文獻[17]設置實驗,對模型的預測性能進行評價。首先,對于每種產品pi在RStudio上生成正態分布隨機數并加上一個隨機擾動作為合成的市場需求,每天取樣一次,取樣730次,構成一個兩年的時間序列,作為測試樣本。
以產品p1為例,當h為1、3時,3種模型預測結果分別如圖5(a)、圖5(b)所示。

圖5 不同模型的預測結果對比
結果表明,3種模型的預測結果均有一定程度的滯后性。使用AR模型和Holt-Winters模型對市場需求進行預測,其預測結果會圍繞一段時間的需求均值上下波動。但是,從預測結果和真實工作流擬合度的角度出發,ARIMA模型相比其實兩種模型性能較優。
當預測步數為1~4時,3個模型的預測誤差如圖6所示。
結果表明,從預測誤差方面考慮,ARIMA模型優于AR模型和Holt-Winters模型。
由圖5、圖6可得,選用ARIMA模型進行需求預測,可以得到更加精確的預測結果。制造商每次獲取市場需求數據需要消耗大量的資源和時間。為了減少不必要的資源消耗,可以在保證預測精度的條件下提高預測步數,從而減少獲取市場需求數據的頻率。為了確定ARIMA模型的最佳預測步數,進一步設置實驗,并記錄不同預測步數下的預測誤差,結果如圖7所示。
結果表明,當h≤4時,ARIMA模型的預測誤差隨預測步數的增加呈緩慢上升趨勢。此時,模型的預測精度并未隨著步數的增加而明顯降低。當h=5時,預測誤差相比之前發生了一次較大的躍升,這是由于模型已經不具有顯著性導致的。從預測的精確度和預測的效率兩個方面綜合考慮,理想的預測步數應為2到4之間。
借鑒文獻[18]設置實驗,對優化蟻群算法的性能進行評價。假設每種產品單位產品消耗的碳配額數和能獲得的單位利潤各不相同,且各生產車間的最大碳配額相同均為5000。制造商旗下產品種類、生產線數量、碳配額總量見表2。以產銷沖突率、任務遷移率和最優利潤為標準,對算法的性能進行評價。
產銷沖突率計算方式如式(20)所示。當供大于求或供不應求時,如式(21)、式(22)所示,產銷沖突(production and marketing conflict, PMC)值加1
(20)
(21)
(22)

圖6 3種模型在不同的預測步數下的預測誤差

圖7 ARIMA模型在不同預測步數下的預測誤差

表2 實驗參數設置
當車間在t-1時刻車間不生產產品pi, 而在t時刻生產該產品時,即任務遷移(task migration, TM)值加1。
平均利潤計算方式如式(23)所示
(23)

對比先到先分配(first come first served,FF)算法、蟻群算法(ACO)及優化蟻群算法(improved ant colony optimization, IACO)的PMC率、TM率和最優利潤,結果如圖8所示。

圖8 不同算法性能對比
由實驗結果可知:首先,從產銷平衡的角度考慮在不同生產規模下ACO算法和IACO算法的產銷沖突率接近,均低于FF算法。這是因為在碳配額約束下,FF算法不能保證任務均勻分配,各生產車間可能剩余大量無法利用的碳配額,影響產能,從而導致產銷沖突。其次,在任務遷移次數方面,ACO算法的目標是尋找最優策略,為了保證充分利用資源,往往需要對任務的分配進行較大調整,因此,其任務遷移次數要遠大于FF算法和IACO算法。最后,在平均利潤方面,IACO算法的平均利潤介于ACO算法和FF算法之間。這是因為IACO算法增加了對前一個任務分配結果的記憶功能,獲得的任務分配策略是一個較優策略。
綜上所述,從產銷平衡,任務遷移次數,平均利潤等方面綜合考慮,文章提出的優化蟻群算法,能夠在符合實際生產需要的同時,提高制造商利潤。
本文在前期工作的基礎上,進一步研究了碳配額約束下的需求預測和制造商任務分配問題。首先,通過改進ARIMA模型實現了對市場需求的細粒度預測;其次,提出了基于優化ACO算法的制造商任務分配策略,在符合實際生產要求的同時提高制造商利潤。最后,通過設計實驗驗證文章提出的策略能夠為碳配額政策約束下的制造商提供決策參考。
下一步還可以從以下方面進行研究:一是把人力資源,原材料等因素納入考慮,進一步研究制造商任務分配問題;二是把碳配額約束具體到供應鏈的全生命周期,根據不同環節各自的特點進一步研究其調度策略。