找预分单运力——>判断预分单or升舱
当前轮询逻辑:不放回(不累加)可能有问题
供需判断——>找预分单运力——>判断预分单or升舱or不预分单(举手后)
- 供需判断:当前格子内供需情况较差,触发预分单/升舱
- 判断对应商家升舱/预分单 卡点
- 判断之后,让对应商家其寻找司机运力
a. 升舱:找到运力后直接完单 ❗没找到运力怎么办
b. 不升舱:让其经过预分单接受度模型,接受度高于阈值的话进行预分单,否则什么都不做
总目标:增加完单
预算:0.1pp cost
完单:0.4pp
参数与变量定义
Pi(A∣c)
Piup
Pibase
priceiup
priceibase
GMViup
GMVibase
zi
θ
目标函数
maxf(Z)=i=1∑Nzi(Piup−[Pi(A∣c)Piup+(1−Pi(A∣c))Pibase)])
约束条件
s.ti=1∑Nzi(priceiup−priceibase)Piup≤BB=(i=1∑Nzi[(1−Pi(A∣c))(GMViup−GMVibase)]+(1−Pi(A∣c))GMVibase+Pi(A∣c)GMViup)⋅θ
优化决策
minL(Z,λ)=−i=1∑Nzi(Piup−[Pi(A∣c)Piup+(1−Pi(A∣c))Pibase])+λ⋅(i=1∑Nzi(priceiup−priceibase)Piup−B)
ZminλmaxL(Z,λ)
λmaxZminL(Z,λ)=−λB+i=1∑Nzi连续背包问题中的weightvalue[λ(priceiup−priceibase)Piup−(1−Pi(A∣c)(Piup−Pibase)]=−λ(i=1∑Nzi[(1−Pi(A∣c))(GMViup−GMVibase)]+(1−Pi(A∣c))GMVibase+Pi(A∣c)GMViup)⋅θ+i=1∑Nzi连续背包问题中的weightvalue[λ(priceiup−priceibase)Piup−(1−Pi(A∣c)(Piup−Pibase)]λmaxZminL(Z,λ)=i=1∑Nzi连续背包问题中的weightvalue[[1−Pi(A∣c)][−λθ(GMViup−GMVibase)−(Piup−Pibase)]+λ(priceiup−priceibase)Piup)]−i=1∑Nλθ[(1−Pi(A∣c))GMVibase+Pi(A∣c)GMViup]
贪心计算指标:
[[1−Pi(A∣c)][λθ(GMViup−GMVibase)+(Piup−Pibase)]−λ(priceiup−priceibase)Piup]
贪心计算指标(原):
(1−Pi(A∣c))(Piup−Pibase)−λ(priceiup−priceibase)Piup
根据该升舱规划模型判断是否升舱,若要升舱的话再去让商家找司机(不看距离),如果不升舱再过预分单接受度模型