针对“共享单车调度问题”,完成五步建模。

  1. 明确目标函数(例如减少车辆空驶、提高用户满意度)。

  2. 定义决策变量(如每辆车的移动路线、调度时刻)。

  3. 写出关键约束(如车辆容量、时间窗、需求覆盖)。

  4. 指出潜在的不确定性(如天气、需求波动)。

  5. 提出一种求解方法(如 MIP +启发式混合)。

目标

服务好:少缺车,少满桩,用户等车/还车时间越短越好;服务达标率越高越好。

成本低:调度车行驶里程、司机工时、装卸次数、过路费越少越好。

符号

  • 站点集合 II ,时间段集合 T={0,1,,H}T=\{0,1,\dots,H\} ,车队 KK(可选)。

  • 容量:站点车桩上限 CiC_i​,安全库存下限 LiL_i​。

  • 需求:在时段 tt租出 RitR_{it}​、归还 HitH_{it}​(可用预测)。

  • 成本:搬运/行驶成本 cijtc_{ij}^t​,车辆固定/里程成本 gijtg_{ij}^t​,缺车罚金 α\alpha,满桩罚金 β\beta

  • 行驶时间(分时段): τijtZ0\tau_{ij}^t\in\mathbb{Z}_{\ge 0}

  • 车队容量:每辆车载重 qkq_k。​

决策变量

  • bitZ0b_{it}\in\mathbb{Z}_{\ge 0}​:时段 tt 结束站点 ii 的自行车库存。

  • xijtZ0x_{ij}^t\in\mathbb{Z}_{\ge 0}​:在 ttii 发出、在 t+τijtt+\tau_{ij}^t​ 抵达 jj 的调拨量。

  • uit0u_{it}\ge 0:因缺车未满足的租出量(短缺)。

  • vit0v_{it}\ge 0:因满桩未能归还的量(溢出)。

  • yk,ijt{0,1}y_{k,ij}^t\in\{0,1\} 表示车辆 kktt 时刻从 ii 发出,开去 jj

  • kt\ell_{kt} 车辆 kktt 时刻结束时的车上载量。

  • pikt0p_{ik}^t \ge 0 车辆 kk 在站点 iitt 时刻装上去的量。

  • dikt0d_{ik}^t \ge 0 车辆 kk 在站点 iitt 时刻卸下来的量。

  • si0s_{i}\ge 0: 在站点 ii 的装卸服务时间。

目标函数

服务惩罚+运营成本

mintTiI(αuit+βvit)+tTi,jIcijtxijtmin \sum_{t \in T} \sum_{i \in I}(\alpha u_{it} + \beta v_{it}) + \sum_{t \in T} \sum_{i,j \in I}c_{ij}^tx_{ij}^t

关键约束

库存平衡

bi,t+1=bit(Rituit)+(Hitvit)+jxjitjxjitb_{i,t+1}=b_{it}-(R_{it}-u_{it})+(H_{it}-v_{it})+\sum_j x_{ji}^t-\sum_j x_{ji}^t

其中:

LibitCi i,tL_i \le b_{it} \le C_i \space \forall{i,t}
xijtZ0  bitZ0  uit,vit0x_{ij}^t \in \Z \ge 0 \space \space b_{it} \in \Z \ge 0 \space \space u_{it},v_{it} \ge 0

车辆路径 + 载重 + 时间窗

车辆流守恒

jIyk,ijt    jIyk,jitτji  =  {1,(i,t)=车 k 的起点,1,(i,t)=车 k 的终点,0,其他 (i,t),kK,  iI,  tT. \sum_{j\in I} y_{k,ij}^{t} \;-\; \sum_{j\in I} y_{k,ji}^{\,t-\tau_{ji}} \;=\; \begin{cases} 1, & (i,t)=\text{车 }k\text{ 的起点},\\[2pt] -1, & (i,t)=\text{车 }k\text{ 的终点},\\[2pt] 0, & \text{其他 }(i,t), \end{cases} \qquad \forall k\in K,\; i\in I,\; t\in T.

载重动态(与取/卸量联动)

k,t+1=k,t+iIpiktiIdikt,0k,tqk,kK,  tT.\ell_{k,t+1} = \ell_{k,t} + \sum_{i\in I} p_{ik}^{\,t} - \sum_{i\in I} d_{ik}^{\,t}, \qquad 0 \le \ell_{k,t} \le q_k, \quad \forall\, k\in K,\; t\in T.

装卸与调拨一致性

kdiktkpikt=jxjitjxijt,i,t.\sum_{k} d_{ik}^t - \sum_{k} p_{ik}^t = \sum_{j} x_{ji}^t - \sum_{j} x_{ij}^t,\quad \forall\, i,t.

时间窗

Tk,jt+τijt    Tk,it+si+τijt    M ⁣(1yk,ijt),kK,  i,jI,  tT.T_{k,j}^{\,t+\tau_{ij}^{t}} \;\ge\; T_{k,i}^{\,t} + s_i + \tau_{ij}^{t} \;-\; M\!\left(1 - y_{k,ij}^{t}\right), \qquad \forall\, k\in K,\; i,j\in I,\; t\in T.