稅文兵,楊漢卿,何 民
(昆明理工大學 交通工程學院,云南 昆明 650500)
訂單農業,又稱合同農業或契約農業,是指在農業生產之前,農戶與企業或中介組織簽訂具有法律效力的確定雙方權利與義務關系的產銷合同,農戶根據合同組織生產,企業或中介組織按合同收購農戶生產的產品的一種農業協同經營形式[1]。從供應鏈管理角度看,訂單農業本身就是一種通過契約實現買方(農業企業)和賣方(農戶)之間協調的農產品供應鏈,因此在學術界又被稱為訂單農業供應鏈[2]。訂單農業供應鏈不僅能夠顯著增加農戶收入[3],而且還有助于實現農業企業原材料的穩定供應,因此在全世界范圍內都得到廣泛推廣和普及[4]。在我國,超過180億公頃的土地是在訂單農業供應鏈模式下耕種的[5]。
然而,在訂單農業供應鏈實際運營中,農戶實際供應量與合同簽約量相違背成為困擾農業企業的重要問題。如2010年10月,烏魯木齊洋蔥普遍減產,市場洋蔥價格上漲,簽訂契約的種植農戶為了獲得更高的經濟利益,普遍抬高洋蔥的收購價格,或者轉賣給其他高價收購商,造成了農戶大規模的違約現象,洋蔥的供應不確定結果導致洋蔥的收購方以高于合同價的市場價格收購,造成了市場及收購方巨大的經濟損失[6];2012年,陜西省西眉縣奇峰公司在四、五月份和獼猴桃果農簽了訂單交了定金,到10月份收購季,當市場價格高于合同價的時候,果農把訂單合同丟到一邊,將獼猴桃賣給其他高價收購商,奇峰只好與果農重新商談價格;而且,果農簽約后,由于技術條件有限,果農無法達到訂單標準的質量,這些獼猴桃數量或質量供應的不確定最終導致公司巨大的經濟損失[7]。簽約農戶實際供應不足,企業就要承擔缺貨帶來的額外采購成本或直接的銷售損失;簽約量過多,則會發生較高的庫存管理成本或農產品超過保質期腐爛變質損失。因此,如何確定恰當的簽約量成為影響農業企業經濟效益和訂單農業供應鏈穩定發展的重要問題。
目前,針對訂單農業供應鏈中農產品供應問題的研究,主要集中在如何通過完善農戶和企業之間的契約降低故意違約率[8-12],較少涉及簽約量的研究。訂單農業生產具有典型的單周期、多源供應(多個農戶與農業企業簽定契約)和實際產出不確定的特點,因此,訂單農業供應鏈中的簽約量決策問題與供應不確定下的多源(超過兩個供應商)報童問題類似。Agrawal等首先研究了產出隨機下有多個供應商的報童問題,假設供應商的實際供應服從正態分布,考慮了供應商的固定簽約成本,建立了以期望利潤最大化為目標,同時對供應商的數量和每個供應商的簽約量進行決策的數學規劃模型[13]。Dada等同樣研究了隨機供應下的單周期多源報童模型,假設需求也是隨機的,但沒有考慮供應商的固定簽約成本[14]。Federgruen等建立了兩種隨機供應下的多源采購模型:一是以采購成本最小化為目標,確保需求以一定的概率被滿足;二是以總的期望成本最小為目標,同時對每個供應商的采購量進行決策[15]。兩個模型都沒有考慮固定簽約成本和供應商生產能力。Yang等設計了基于非線性規劃技術的算法求解隨機多源供應下的報童模型[16]。Merzifonluoglu等同時考慮了供應商的固定簽約成本和生產能力約束,模型除對訂貨量進行決策外,還對供應商的選擇進行決策[17]。
上述供應不確定下的多源報童問題研究是在一般生產制造背景下,從對基本報童模型拓展的角度展開,并不能滿足訂單農業供應鏈中最佳簽約量決策的需要。這主要表現在三個方面:一是沒有考慮農戶(供應商)最小生產量的約束;二是模型的目標函數沒有包含農業企業對農戶的生產服務成本;三是缺乏有效算法求解存在大量農戶時的模型。本文針對這些不足,建立考慮農戶固定簽約成本、農戶生產服務成本和生產能力上下限約束,同時對農戶選擇和訂單大小進行決策的數學規劃模型;設計能夠在較短時間內求解大規模算例的遺傳算法和粒子群算法,并對兩種算法的性能進行比較。本文的研究一方面有利于完善供應不確定下的多源報童模型研究;另一方面可以幫助農業企業在農戶供應不確定下更好地確定簽約量。
農業企業為滿足未來零售市場的需求,在農產品的生產和銷售季節到來之前,與農戶簽訂雙方同意的收購訂單。該訂單規定了農戶的種植規模、種植地點、交售農產品的時期,同時也明確了農業公司的收購價格、種苗價格、技術服務等內容。許多自然和人為的因素會導致在農產品收獲期,農戶實際提供的農產品數量與根據合同規定的種植規模測算出來的數量相差較大,進而給農業企業帶來經濟損失。為了降低農產品供應不穩定帶來的不利影響,農業企業在與農戶簽訂訂單時,需要根據農戶的供應特征對其進行篩選,并對篩選出來的農戶分配不超過其生產能力的訂單。在這一過程中,需要考慮農戶固定簽約成本、農戶生產服務成本、不足需求的缺貨成本、過多需求的存貨成本和農產品采購成本之間的平衡。
在構建模型之前,提出如下參數假設:
(1) 農戶i的實際供應量為簽約量與隨機系數γi(實際供應比例) 的乘積,隨機系數0≤γi≤1,反映了農戶實際供應農產品數量與簽約量之間的差距,并服從均值為μi,標準差為σi的正態分布;
(2)采購成本為單位采購成本c與企業實際收到的農產品數量的乘積;
(3)缺貨成本為單位缺貨成本s與缺貨量的乘積,缺貨量等于需求D與實際供應量的差值;
(4)當實際供應量大于需求時,農業企業需要投入額外從資金進行保管,或者由于超過保質期喪失使用價值,此時產生單位成本為h;
(5)農戶固定簽約成本與簽訂的農戶數量成正比,單個農戶的簽約成本為a;
(6)農產品生產服務成本與農戶簽約量成正比,單位簽約量的生產服務成本為k;
(7)考慮農戶土地規模限制,單個農戶簽約量不能低于最小值Mi,也不能超過最大值Ci;
(8)是否與農戶簽約及簽約量的大小是模型的決策變量,分別用Xi(取1表示與農戶i簽約,否則取0)和Qi表示;
(9)農戶的履約行為是獨立的。
(1)實際總供應量的均值和標準差
根據正態分布的特性,所有農戶實際總的供應量Y也服從正態分布,其均值和標準差的計算如下:

其中:式(1)為實際總供應量的均值;式(2)為實際總供應量的標準差。
(2) 采購成本的均值
采購成本均值的計算如下:

(3) 缺貨成本的均值
缺貨成本為smax{ D-Y, }0,其均值如下:

其中:F(·)為概率分布函數。
(4)倉儲和耗損成本均值
庫存保管和耗損成本為hmax{ Y-D,}0,其均值計算如下:

綜上,訂單農業供應鏈中農戶選擇和訂單分配模型如下:

其中:式(3)為模型目標函數,包括農戶簽約成本、生產服務成本、期望采購成本、期望缺貨成本和期望庫存保管和耗損成本;式(4)表示單個農戶簽約量不能超過其生產能力;式(5)表示總的簽約量不能低于需求量;式(6)表示單個農戶的簽約量不能小于規定值;式(7)是決策變量的取值范圍。
上述模型目標函數中含有積分項,決策變量中包含0、1整數變量和非負連續實值變量,因此模型屬于典型的混合整數非線性規劃模型。模型決策變量的組合特性,導致當決策變量數量較大時,很難在較短時間內找到精確解。因此,對這類模型的求解,常采用智能優化算法,如遺傳算法(Genetic Algorithms,GA)、粒子群優化(Particle Swarm Optimization,PSO)算法等。本文分別采用遺傳算法和粒子群優化算法求解模型,并通過對不同規模算例求解,對兩種算法進行比較。
(1) 編 碼
一條染色體由農戶的選擇變量X和簽約量Q組成。其中,X自身就是0、1變量,Q是實值變量。為了便于交叉和編譯,統一采用二進制編碼的方法。因此,僅需將“十進制”變量Q轉換為二進制變量,二進制變量的位數由下式決定:

式中:U2、U1為連續變量的上、下界;k為每一個連續變量表示為二進制時的位數;δ為連續變量轉換為二進制時的精度要求。簽約量的上屆U2為總的需求D,下界為0,精度要求為1位。
(2) 初始種群產生
初始種群的產生采用隨機的方法產生。由于對約束處理采用懲罰函數的方法,因此,對于每一條隨機生成的染色體不需要進行可行性驗證。
(3) 適應度函數
采用懲罰函數的方法將有約束問題轉換為無約束問題,適應度函數為[18]:
其中:f(x)為原優化問題的目標函數;R為懲罰系數;gk(x)為原優化問題中的第k個不大于0的不等式約束,總的不等式約束個數為p;hl(x)為原優化問題中的第l個等式約束,總的等式約束個數為m。

(4) 遺傳操作
包括交叉、變異和選擇。
(5) 終止條件
當連續10次迭代的種群均值或種群最小值的標準差不超過規定的數值,且獲得最小值滿足所有的約束條件時停止迭代。如果上述條件在規定的最大迭代次數內都不滿足,則程序停止迭代。
粒子群算法通過模擬鳥群捕食過程中相互協作從而找到最優路徑的行為以獲取最優解,關鍵步驟如下:
(1) 粒子群初始化
包括粒子的編碼和群體的生成。此處,粒子統一采用上文遺傳算法中染色體的二進制編碼,粒子群隨機生成,規模為150個。
(2) 確定適應度函數
適應度函數如式(8),同樣采用懲罰函數的方法處理約束。
(3) 速度和位置更新
適應度函數確定后,需要計算各個粒子的適應度值,并對個體極值和群體極值更新。然后,對粒子速度和位置進行更新。在離散空間下,速度和位置的更新公式如下[19]:

其中:ω稱作慣性權重,c1、c2為常數,稱作學習因子(也叫加速系數),r1、r2是兩個0到1之間的隨機數。
(4) 終止條件
與遺傳算法終止條件相同。
為了檢驗模型的有效性和對兩種算法的求解效能進行比較,設計了15個不同規模的算例。這些算例中,總的需求根據歷史數據預測得到,算例中取值為2 000kg;單位采購成本為合同規定的最低收購價,取值為8元/kg;單位缺貨成本是當農戶實際總的供應量不能滿足需求時從現貨市場購買所產生的成本增加值或者是不能滿足需求直接產生的銷售損失,取值為9元/kg;農戶實際供應比例均值和標準差根據歷年農戶的實際供應情況統計得到,分別為0.86和0.08;供應關系建立成本和生產服務成本可從農業企業的財務報表得到,分別為1 000元/戶、5元/kg;倉儲成本是當實際供應量大于需求量時產生的庫存管理成本,也包括折價銷售或腐爛變質帶來的損失,取值為3元/kg;單個農戶的最小生成數量取值為5kg/戶。
不同算例的區別在于候選農戶的數量和每一個農戶的生產能力。農戶的數量從10、20、30戶增加到150戶,間隔為10戶,分別對應16個算例。每個算例中,單個農戶的生產能力為2倍的需求除以農戶的數量。
為了對兩種算法的計算效能進行比較,選取算法終止時獲得的最小成本和所用時間為評價指標。在相同終止條件下,算法終止時的最小成本反映了算法的求解精度,成本值越小,算法求解精度越高;所用時間反映了算法的效率,時間越短,效率越大。
根據算例的參數特征和多次試算結果,確定算法參數。其中,遺傳算法關鍵參數取值如下:二進制位數11,交叉概率1.0,變異概率0.0003,約束違背懲罰系數1.0E+05,停止迭代的標準差為100,最大迭代次數為2 500次。粒子群算法關鍵參數取值如下:慣性權重c1=2.5、c2=2.0,速度上限為8.0,約束違背懲罰系數為1.0E+05,停止迭代的標準差和最大迭代次數與遺傳算法相同。GA和PSO算法程序用MATLAB的M語言編寫,所有計算在Intel(R)core(TM)i5-2410M CPU@2.30GHz處理器、4GBRAM的計算機上完成。在上述參數和條件下,不同規模算例兩種算法的計算結果如圖1和圖2所示。

圖1 GA和PSO算法在尋優能力上比較
從尋優能力來看(圖1),PSO算法明顯要優于GA。在16個算例中,算例1、2、4、5、6、8、9、10、12、14、15、16采用PSO算法獲得的最小期望成本要小于GA,占到了總數的75%。在這些算例中,PSO算法的最小成本值小于GA的程度最大為43.8%,最小為0.2%。同時,這些算例中既有小規模算例如算例1、2、4,也有較大規模算例如14、15、16,表明PSO算法尋優能力上的優勢并不受問題規模的影響。

圖2 GA和PSO算法在時間效率上比較
從計算時間效率來看(圖2),GA收斂的速度明顯優于PSO算法。除算例1、2、3、6外,其余12個算例GA停止迭代的時間均小于PSO算法,占比達到75%。這些算例中,PSO算法所用時間比GA最大多出670s,最小為17s,而且隨著算例規模的增大,GA所用時間都要小于PSO算法。
綜合來看,有9個算例(占比為56.3%)PSO算法以較長的時間獲得了更小的成本;有3個算例(占比為18.7%)PSO算法以更短的時間獲得了更小的成本;有3個算例PSO算法用了更多的時間卻得到了更大的成本;有1個算例(占比為6.3%)PSO算法用時雖短但得到的成本更大。值得注意的是在第一種情況的9個算例中,雖然PSO算法用時比GA多,但多出時間的最大值僅為670s,是在可接受范圍內。因此,綜合考慮算法的尋優能力和時間效率,PSO算法更適合于求解所建立的模型。
選取總簽約量和期望成本兩個指標反映農戶實際供應不確定的影響。具體的做法是改變農戶實際供應比例的均值和標準差,分別計算在不同均值和標準差組合下總的簽約量和最小期望成本。此處,以算例2的參數為基準,采用PSO算法求解。
(1)對總簽約量的影響
農戶供應不確定對總簽約量的影響如圖3所示。從圖3中可以看出,在不同的供應比例均值和標準差取值下,總的簽約量都是大于實際需求的。其中,當實際供應比例均值不超過0.65時,總簽約量最小(2 003kg),比實際需求多3kg;當標準差為0.16,均值為0.8時,總簽約量最大,達到2 811kg,比實際需求多811kg。這說明農業企業在面對農戶供應不確定時,為了實現期望成本最小,應該與農戶訂購比實際需求更大的量。另外,隨著供應比例均值的增加,總簽約量先增大后減小,而不是單純的降低;隨著供應比例標準差的增加,總簽約量會增大。這表明:一方面農戶供應不確定對總簽約量的影響是非線性的;另一方面農戶供應不確定性越大,企業需要訂購更多的量來防范供應不穩定風險。
(2)對最小期望成本的影響
農戶供應不確定對最小期望成本的影響如圖4所示。從圖4中可以看出:隨著農戶實際供應比例均值的增加,最小期望成本呈現下降的趨勢;隨供應比例標準差的增大,最小期望成本呈增大趨勢,但增加的速度不大。在不同的供應比例標準差取值下,當實際供應比例均值從0.5提高到1.0時,最小期望成本降低的程度均超過了50%;當供應比例均值在0.7以下時,隨著供應比例標準差從0.08提高到0.16,最小期望成本沒有發生明顯變化;當供應比例均值在0.75以上時,隨著供應比例標準差從0.08提高到0.16,最小期望成本平均增加約2.4%。這表明:提高農戶實際供應數量水平和穩定性,都有利于降低企業的成本;比較而言,提高農戶實際供應數量水平對降低企業成本效果更顯著。

圖3 農戶供應不確定對總簽約量的影響
本文針對訂單農業供應鏈中農戶實際供應量與簽約量不一致的問題,從農業企業角度提出事前風險控制策略,建立供應不確定下農戶選擇及訂單分配模型,設計求解模型的GA和PSO算法,通過算例對兩種算法性能進行了對比,分析了農戶供應不確定對總簽約量和最小期望成本的影響。研究得到的主要結論如下:(1)綜合考慮算法的尋優能力和時間效率,PSO算法更適合于求解所建立的農戶選擇及訂單分配模型;(2) 為了應對農戶實際供應不確定,企業與農戶的簽約量應大于實際的需求;(3) 農業企業的總簽約量和最小期望成本隨農戶實際供應不穩定程度的增加而增大,隨實際供應數量水平的提高而降低;(4)相對于減少農戶實際供應的波動性,提高農戶實際供應數量水平,更有利于企業降低成本。
然而,在訂單農業供應鏈的實際運營中,農業企業不僅要面對農產品供應不穩定的風險,而且還要承擔巨大的市場風險。因此,在未來的研究中,可將需求的不確定納入決策模型中。另外,當農業企業是風險厭惡或風險喜好時,對農戶的選擇和訂單分配決策又有什么樣的影響,也值得進一步研究。

圖4 農戶供應不確定對最小期望成本的影響