在零售业的供应链管理中, 我们经常会遇到一些资源分配问题, 例如商品的供需平衡, 销售利润分摊, 运输成本分摊等. 常见的分配方式有平均分和按权重(比例)分. 在某些应用场景下, 我们需要体现分配方案的"公平性", 那么如何科学地定义公平性, 又如何计算公平的分配方案? 本文从合作博弈论的角度思考如何解决这些实际问题.
1. 合作博弈
考虑某个自营电商的销售场景: 电商平台(例如网易严选)从供应商采购商品, 顾客在线下单之后, 商品会通过承运商(例如顺丰)把商品送达顾客手中. 在这个销售过程中, 供应商, 电商平台和承运商三方合作从而获得销售利润. 那么我们如何"公平地"把利润分配给三方?
合作博弈论关注的核心问题就是如何对合作产生的利润(或成本)用科学的方式进行分配. 我们用二元组 ⟨ N , v ⟩ \langle N, v \rangle ⟨N,v⟩表示合作博弈(Cooperative Game), 其中记号 N , v N, v N,v的解释如下:
- N = { 1 , 2 , … , n } N=\{1, 2, \ldots, n\} N={ 1,2,…,n} – 参与博弈的局中人(Player)的集合
- S ⊆ N S\subseteq N S⊆N – 局中人集合的任意子集称为联盟(Coalition)
- v : 2 N → R v: 2^N \rightarrow \mathbb{R} v:2N→R – 联盟的效用函数. v ( S ) v(S) v(S)可以及理解为联盟 S S S合作产生的总收益.
问题. 给定 ⟨ N , v ⟩ \langle N, v \rangle ⟨N,v⟩, 如何把总收益 v ( N ) v(N) v(N)公平地分配给每个局中人?
不同应用场景对公平性的定义可能是不同的, 因此研究合作博弈论的一个核心问题就是研究不同分配策略的性质.
2. 分配策略
为方面描述, 我们先引入如下记号:
- x = ( x 1 , x 2 , … , x n ) x=(x_1, x_2, \ldots, x_n) x=(x1,x2,…,xn) – 分配向量(Allocation Vector), 局中人 i i i得到的收益为 x i x_i xi
- x ( S ) x(S) x(S) – 联盟 S S S分配到的收益之和, 即 x ( S ) = ∑ i ∈ S x i x(S) = \sum_{i\in S}x_i x(S)=∑i∈Sxi
下面我们介绍一些分配策略.
2.1 The Core
Core是分配向量的集合. x ∈ x\in x∈core必须满足如下条件:
- x ( N ) = v ( N ) x(N) = v(N) x(N)=v(N)
- x ( S ) ≥ v ( S ) , ∀ S ⊆ N x(S) \geq v(S), \forall S\subseteq N x(S)≥v(S),∀S⊆N.
说明
- 条件1保证所有的收益都被分配了. (没人贪污)
- 如果任意一个联盟 S ⊂ N S\subset N S⊂N想要独立门户, 即, 不跟其他人( N \ S N\backslash S N\S)合作, 那么条件2保证 S S S得到的总收益不会