博弈論在供應鏈決策中的應用

在零售業的供應鏈管理中, 我們經常會遇到一些資源分配問題, 例如商品的供需平衡, 銷售利潤分攤, 運輸成本分攤等. 常見的分配方式有平均分和按權重(比例)分. 在某些應用場景下, 我們需要體現分配方案的"公平性", 那么如何科學地定義公平性, 又如何計算公平的分配方案? 本文從合作博弈論的角度思考如何解決這些實際問題.

1. 合作博弈

考慮某個自營電商的銷售場景: 電商平臺(例如網易嚴選)從供應商采購商品, 顧客在線下單之后, 商品會通過承運商(例如順豐)把商品送達顧客手中. 在這個銷售過程中, 供應商, 電商平臺和承運商三方合作從而獲得銷售利潤. 那么我們如何"公平地"把利潤分配給三方?

合作博弈論關注的核心問題就是如何對合作產生的利潤(或成本)用科學的方式進行分配. 我們用二元組\langle N, v \rangle表示合作博弈(Cooperative Game), 其中記號N, v的解釋如下:

  • N=\{1, 2, \ldots, n\} -- 參與博弈的局中人(Player)的集合
  • S\subseteq N -- 局中人集合的任意子集稱為聯盟(Coalition)
  • v: 2^N \rightarrow \mathbb{R} -- 聯盟的效用函數. v(S)可以及理解為聯盟S合作產生的總收益.

問題. 給定\langle N, v \rangle, 如何把總收益v(N)公平地分配給每個局中人?

不同應用場景對公平性的定義可能是不同的, 因此研究合作博弈論的一個核心問題就是研究不同分配策略的性質.

2. 分配策略

為方面描述, 我們先引入如下記號:

  • x=(x_1, x_2, \ldots, x_n) -- 分配向量(Allocation Vector), 局中人i得到的收益為x_i
  • x(S) -- 聯盟S分配到的收益之和, 即x(S) = \sum_{i\in S}x_i

下面我們介紹一些分配策略.

2.1 The Core

Core是分配向量的集合. x\incore必須滿足如下條件:

  1. x(N) = v(N)
  2. x(S) \geq v(S), \forall S\subseteq N.

說明

  1. 條件1保證所有的收益都被分配了. (沒人貪污)
  2. 如果任意一個聯盟S\subset N想要獨立門戶, 即, 不跟其他人(N\backslash S)合作, 那么條件2保證S得到的總收益不會超過他們當前分配到的收益之和. 換句話說, 條件2保證聯盟S沒有動機獨立門戶. (不合作不會賺得更多)
  3. core有可能是空集. 如果非空, 它包含的分配向量一般不是唯一的.

2.2 The Kernel[1]

Kernel也是分配向量的集合, 它從談判的角度來定義公平性. 考慮兩個局中人i, j, 給定分配向量x, 定義
s_{ij}(x) = \max_{S}\left\{v(S) - x(S) \mid i\in S, j\not\in S, S\subseteq N\right\}.

站在局中人i的角度來看, 如果他不愿意跟j合作, 最多能額外獲得的收益即為s_{ij}(x). 因此, 我們可以s_{ij}(x)理解為ij的談判能力. 如果s_{ij}(x) > s_{ji}(x), 則說明i相對j有可能在談判上有優勢.

x\inkernel必須滿足如下條件:

  1. x(N) = v(N)
  2. x_i \geq v(\{i\}), \forall i\in N
  3. 如果s_{ij}(x) > s_{ji}(x), 那么x_j = v(\{j\}), \forall i,j \in N, i\neq j

說明

  1. 條件2確保局中人i分配到的收益比自己"單干"不會少.
  2. 把滿足條件1和條件2的分配向量稱為imputation.
  3. 條件3說如果ij談判有優勢, 那么ji的談判是免疫的(因為j分配到的收益等于自己單干的收益, j即使不合作也沒有損失). 簡而言之, 條件3確保任意兩個不同的局中人ij在談判地位上是平等的.
  4. Kernel非空.

2.3 The Nucleolus[2]

Nucleolus與前面的概念有所區別, 它是分配向量(不是集合). 我們先給出一些記號:

  • e(S) = v(S) - x(S), \forall S\subseteq N -- 代表聯盟S不合作能額外獲得的收益
  • \theta(x) = (e(S))_{S\in 2^N} -- 是e(S)構成的向量. \theta(x)的分量按照從大到小的順序排列

考慮兩個分配向量x, y, 我們說x按詞典序(lexicographically)比y, 當存在下標k使得\theta_k(x) < \theta_k(y)\theta_i(x) = \theta_i(y), \forall i < k.

Nucleolus 是按字典序最小的imputation(滿足kernel的條件1和條件2).

說明

  1. Nucleolus的定義比較抽象. 我們用比較淺顯的話來解釋: nucleolus分配的思想是為了使最貧窮的局中人分配到的財富最大化, 其中"財富的多少"可以理解為公平性, 越貧窮則越不公平.
  2. nucleolus \in kernel
  3. 如果core非空, 則nucleolus \in core

2.4 The Shapley Value[3]

它的計算公式為:

x_i =\sum_{S\subseteq N\backslash \{i\}}\frac{|S|!(|N|-|S|-1)!}{|N|!}\left(v(S\cup\{i\})-v(S)\right), \quad \forall i\in N.

說明

  1. 給定聯盟S, 局中人i相對S的邊際貢獻為v(S\cup\{i\}) - v(S).
  2. 如果隨機分配聯盟, 那么\frac{|S|!(|N|-|S|-1)!}{|N|!}i落入集合S的概率.
  3. 綜上所述, x_i為局中人i邊際貢獻的期望.

3. 應用案例

下面我們列舉幾個在電商業務中可能應用的案例.

3.1 需求分配

假設有n個倉庫, 它們對同一個商品的需求分別為d_1, d_2, \ldots, d_n. 當前該商品的采購入庫總量為E. 當E<d_1+d_2 + \ldots + d_n時, 我們該如何分配需求?

為什么不建議按比例分配?

如果按比例分配, 當其中某個倉庫A的需求非常大時, 它分到大量商品, 而另外的倉庫B可能只分到極少商品. 這樣一來A倉庫可以銷售較長時間, 相反B倉庫可能很快就發生缺貨. 長此以往, 倉庫B由于需求總量少, 可能長期無法滿足, 因而一直缺貨狀態.

考慮什么分配方式?

詳情可以參考 《破產問題 (The Bankruptcy Problem)》

3.2 車輛裝車

考慮把n種商品運輸到一個倉庫中, 每種商品的單位體積分別是v_1, v_2, \ldots, v_n, 商品的運輸量分別是s_1, s_2, \ldots, s_n. 當前車輛可運輸的總體積為E. 當E < \sum_{i=1}^n v_is_i時, 我們該如何分配商品的運輸量?

(令d_i=v_is_i, 這個問題是不是就轉化成上面的需求分配問題了?)

3.3 成本分攤

設客戶購買了三件商品, 其售價如下表所示,

商品名稱 售價
毛巾 20
手套 60
帽子 120

并使用了一張滿150減20的優惠券, 因此他實際支付的訂單費用是180元(不考慮運費). 那么平攤到每個商品的購買成本是多少?

為什么不建議按比例分配?

為了湊夠優惠券的條件, 實際上只需要購買帽子和手套即可, 所以毛巾對湊單的實際貢獻是0. 從這個角度來看, 毛巾不應該享受優惠, 它的購買成本應該按原價20計算比較合理.

考慮什么分配方式?

試試Shapley Value?

3.4 促銷活動評估

考慮如下的場景: 某電商在同一天上線多個促銷活動. 促銷活動的集合記為N={1,2,\ldots, n}. 每個促銷活動對應了一些商品(同一個商品允許參加多個活動). 對任意活動的組合S\subseteq N, 我們可以計算其參加活動商品的總銷量v(S). 因此, v(N)表示當天所有活動商品的總銷量. 請問如何計算每個活動i帶來的銷量x_i?

考慮什么分配方式?

留給讀者思考.

參考文獻


  1. M. Davis and M. Maschler. "The kernel of a cooperative game", Naval Research Logistics Quarterly, 12 (3): 223–259, 1965. ?

  2. D. Schmeidler. "The nucleolus of a characteristic function game", SIAM Journal on Applied Mathematics, 17 (6): 1163–1170, 1969. ?

  3. Lloyd S. Shapley. "A Value for n-person Games". In Kuhn, H. W.; Tucker, A. W. Contributions to the Theory of Games. Annals of Mathematical Studies. 28. Princeton University Press. pp. 307–317, 1953. ?

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 談論死亡雖有些沉重,但卻是永恒的話題。古往今來,名人雅士,對于死亡留下了不少精彩的語句。“不尊重死亡的人,...
    凱撒大帝v閱讀 694評論 2 3
  • 狗糧真的沒有什么好撒的,好像覺得喜歡秀幸福的人一般都不幸福,好比如說像我這樣子可愛的妞不大會秀幸福,究竟幸福還是只...
    花兒語樹閱讀 155評論 0 1
  • 是誰,曾寄去 那雁足的情懷 是誰,曾曉得 那遠帆的悲哀 是誰,曾留下 那塋頭的無奈 遺立,遺立 便將礁石倚在 西風...
    姑射閱讀 180評論 0 5