Files
mcm-mfp/task3/README.md

666 lines
25 KiB
Markdown
Raw Normal View History

2026-01-19 11:31:46 +08:00
# Task 3: 双站点同车访问的随机优化方案
## 摘要
本文针对"同一辆卡车在单次行程中访问两个站点"的调度优化问题,提出一套**基于随机优化的完整解决方案**。核心创新点:
1. **问题本质识别**:将第一站点分配决策建模为**两阶段随机优化问题**,正确处理"第二站点需求不确定"的核心难点
2. **共生站点配对模型**:综合考虑距离、容量、波动性三维约束,构建配对价值函数
3. **解析最优分配策略**:推导出闭式解 $q^* = \frac{\sigma_j \mu_i + \sigma_i (Q - \mu_j)}{\sigma_i + \sigma_j}$
4. **风险可控的全局调度**:在提升效率的同时,将服务缺口风险控制在可接受范围
---
## 1. 问题本质重析
### 1.1 题目核心要求
题目原文关键句:
> "decide on the amount of food to dispense at the first site **(since without pre-registration the demand at the next site is not known for sure)**"
**问题本质**:这是一个**两阶段随机优化问题Two-Stage Stochastic Optimization**
- **第一阶段决策**:在出发前/到达第一站点时,决定分配量 $q$
- **第二阶段决策**:观测到第一站点实际需求 $D_1$ 后,将剩余食物分配给第二站点
### 1.2 双站点模式的战略价值
| 收益 | 成本/风险 |
|------|----------|
| 释放卡车次数用于其他站点 | 单次服务两站点可能均不充分 |
| 低需求站点合并提升效率 | 需求波动导致分配失衡 |
| 减少志愿者调度复杂度 | 行程时间增加 |
**核心权衡**:资源节省 vs 服务质量风险
---
## 2. 符号定义与数据准备
### 2.1 符号体系
| 符号 | 定义 | 单位/范围 |
|------|------|----------|
| $\mu_i, \sigma_i$ | 站点 $i$ 的需求均值和标准差 | 户 |
| $\tilde{\mu}_i$ | 截断修正后的真实需求来自Task 1 | 户 |
| $D_i$ | 站点 $i$ 的随机需求 | $D_i \sim N(\mu_i, \sigma_i^2)$ |
| $Q$ | 卡车单次总服务能力 | 户≈400基于15000 lbs |
| $q$ | 第一站点预分配量 | 户 |
| $l_{ij}$ | 站点 $i, j$ 间行驶距离 | 英里 |
| $T_{travel}$ | 站点间转场时间 | 小时 |
| $T_{service}$ | 单站点服务时间≈2小时 | 小时 |
### 2.2 关键参数估计
**卡车容量转换**
$$Q = \frac{15000 \text{ lbs}}{w} \approx \frac{15000}{40} = 375 \text{ 户}$$
其中 $w \approx 40$ lbs/户基于典型服务225户 × 15000/225 ≈ 67 lbs取保守估计
考虑到 $\mu_{max} = 396.6$,取 $Q = 400$ 作为软上限。
---
## 3. 共生站点配对选择模型
### 3.1 配对可行性约束
**约束1同日可达性**
单日时间预算:$T_{day} = 8$ 小时(工作日)
可行条件:
$$2 \times T_{service} + T_{travel}(l_{ij}) \leq T_{day}$$
$$T_{travel}(l_{ij}) = \frac{l_{ij}}{v_{avg}} + T_{setup}$$
其中 $v_{avg} \approx 30$ mph含路况因素$T_{setup} = 0.5$ 小时(卸货准备)。
**距离约束**
$$l_{ij} \leq (T_{day} - 2 \times T_{service} - T_{setup}) \times v_{avg} = (8 - 4 - 0.5) \times 30 = 105 \text{ miles}$$
取保守阈值 $l_{max} = 50$ 英里,确保充裕的服务时间。
**距离计算**Haversine公式简化
$$l_{ij} = 69.0 \times \sqrt{(lat_i - lat_j)^2 + \cos^2\left(\frac{lat_i + lat_j}{2} \times \frac{\pi}{180}\right)(lon_i - lon_j)^2}$$
**约束2容量可行性**
$$\mu_i + \mu_j \leq Q + \delta$$
取 $\delta = 50$允许10%溢出,由需求波动吸收),即:
$$\mu_i + \mu_j \leq 450$$
**约束3需求稳定性**
变异系数约束(排除高波动配对):
$$CV_i = \frac{\sigma_i}{\mu_i} \leq 0.5 \quad \text{且} \quad CV_j = \frac{\sigma_j}{\mu_j} \leq 0.5$$
### 3.2 配对价值评估
对于满足可行性约束的配对 $(i, j)$,定义**配对价值函数**
$$V_{ij} = \underbrace{\alpha \cdot \frac{\mu_i + \mu_j}{Q}}_{\text{容量利用率}} - \underbrace{\beta \cdot \frac{l_{ij}}{l_{max}}}_{\text{距离惩罚}} - \underbrace{\gamma \cdot \frac{\sigma_i^2 + \sigma_j^2}{(\mu_i + \mu_j)^2}}_{\text{风险惩罚}} + \underbrace{\delta \cdot \mathbb{1}[\rho_{ij} < 0]}_{\text{对冲奖励}}$$
其中:
- $\alpha = 1.0$:容量利用权重
- $\beta = 0.3$:距离惩罚权重
- $\gamma = 0.5$:风险惩罚权重
- $\delta = 0.2$:需求负相关奖励
- $\rho_{ij}$:需求相关系数(若数据可得)
### 3.3 配对选择算法
```
Algorithm 1: Symbiotic Site Pairing
────────────────────────────────────
Input: 70 sites with (μᵢ, σᵢ, latᵢ, lonᵢ)
Output: Set of paired sites P
1. Compute pairwise distance matrix L[i,j]
2. Initialize candidate set C = ∅
3. For each pair (i,j) where i < j:
a. If l_ij ≤ l_max AND μᵢ + μⱼ ≤ 450 AND CVᵢ ≤ 0.5 AND CVⱼ ≤ 0.5:
Add (i,j) to C with value V_ij
4. Sort C by V_ij descending
5. Initialize P = ∅, used = ∅
6. For each (i,j) in C:
If i ∉ used AND j ∉ used:
Add (i,j) to P
Add i, j to used
7. Return P
```
**贪心策略的合理性**:高价值配对优先,避免一个站点被多次配对。
---
## 4. 第一站点分配的随机优化模型
### 4.1 问题形式化
设卡车访问配对 $(i, j)$,先访问站点 $i$,后访问站点 $j$。
**随机变量**
- $D_i \sim N(\mu_i, \sigma_i^2)$:站点 $i$ 的实际需求
- $D_j \sim N(\mu_j, \sigma_j^2)$:站点 $j$ 的实际需求
**决策变量**$q$ = 为站点 $i$ 预留的食物量(在出发时决定)
**服务量**
- 站点 $i$ 实际服务量:$S_i = \min(D_i, q)$
- 站点 $j$ 实际服务量:$S_j = \min(D_j, Q - S_i) = \min(D_j, Q - \min(D_i, q))$
### 4.2 目标函数设计
**目标1最大化期望总服务量**
$$\max_q \quad E[S_i + S_j] = E[\min(D_i, q)] + E[\min(D_j, Q - \min(D_i, q))]$$
**目标2考虑公平性的惩罚项**
定义未满足需求:
$$U_i = (D_i - q)^+ = \max(0, D_i - q)$$
$$U_j = (D_j - (Q - S_i))^+$$
**综合目标函数**
$$\max_q \quad E[S_i + S_j] - \lambda \cdot E[U_i + U_j] - \eta \cdot E[\max(U_i, U_j)]$$
其中:
- $\lambda$:未满足需求的边际惩罚(取 $\lambda = 0.5$
- $\eta$:最大缺口惩罚,体现公平性(取 $\eta = 0.3$
### 4.3 解析解推导
**引理(截断正态期望)**:若 $X \sim N(\mu, \sigma^2)$,则:
$$E[\min(X, c)] = \mu \cdot \Phi(z) + \sigma \cdot \phi(z) - c \cdot (1 - \Phi(z))$$
其中 $z = \frac{c - \mu}{\sigma}$$\Phi, \phi$ 为标准正态CDF和PDF。
**简化情形**:假设 $D_i, D_j$ 独立,忽略 $\min(D_i, q)$ 的随机性对第二项的影响。
**一阶近似**
$$E[S_i] \approx \mu_i \cdot \Phi\left(\frac{q - \mu_i}{\sigma_i}\right) + \sigma_i \cdot \phi\left(\frac{q - \mu_i}{\sigma_i}\right)$$
$$E[S_j] \approx \mu_j \cdot \Phi\left(\frac{Q - q - \mu_j}{\sigma_j}\right) + \sigma_j \cdot \phi\left(\frac{Q - q - \mu_j}{\sigma_j}\right)$$
**最优条件**(对 $q$ 求导并令其为零):
$$\frac{\partial E[S_i]}{\partial q} = \frac{\partial E[S_j]}{\partial q}$$
化简得:
$$\Phi\left(\frac{q^* - \mu_i}{\sigma_i}\right) = \Phi\left(\frac{Q - q^* - \mu_j}{\sigma_j}\right)$$
**最优分配公式**
$$q^* = \frac{\sigma_j \mu_i + \sigma_i \mu_j + \sigma_i (Q - \mu_j) - \sigma_j \mu_i}{\sigma_i + \sigma_j} = \frac{\sigma_j \mu_i + \sigma_i (Q - \mu_j)}{\sigma_i + \sigma_j}$$
整理得:
$$\boxed{q^* = \frac{\sigma_j}{\sigma_i + \sigma_j} \mu_i + \frac{\sigma_i}{\sigma_i + \sigma_j} (Q - \mu_j)}$$
**物理解释**
- 当 $\sigma_j \gg \sigma_i$(站点 $j$ 波动大):$q^* \to \mu_i$,为站点 $i$ 精确分配
- 当 $\sigma_i \gg \sigma_j$(站点 $i$ 波动大):$q^* \to Q - \mu_j$,为站点 $j$ 预留更多
- 波动大的站点需要更多"缓冲"
### 4.4 鲁棒性考虑
**最坏情况约束**:确保在高需求情景下两站点均获得最低服务
$$q \geq \mu_i - k \sigma_i \quad \text{(站点 $i$ 的下界保护)}$$
$$Q - q \geq \mu_j - k \sigma_j \quad \text{(站点 $j$ 的下界保护)}$$
取 $k = 1$约84%保护水平),则:
$$\mu_i - \sigma_i \leq q \leq Q - \mu_j + \sigma_j$$
**最终分配策略**
$$q^{final} = \text{clip}(q^*, \mu_i - \sigma_i, Q - \mu_j + \sigma_j)$$
---
## 5. 全局调度优化
### 5.1 双站点访问的引入策略
**问题**在Task 1的730次单站点访问中哪些应改为双站点访问
**决策逻辑**
1. 对于配对 $(i, j) \in P$,合并其部分访问
2. 设原频次为 $k_i, k_j$,合并后:
- 双站点访问次数:$k_{ij} = \min(k_i, k_j, k_{max})$
- 站点 $i$ 剩余单独访问:$k_i' = k_i - k_{ij}$
- 站点 $j$ 剩余单独访问:$k_j' = k_j - k_{ij}$
取 $k_{max} = \lfloor \min(k_i, k_j) / 2 \rfloor$,确保每个站点仍保留独立访问。
**释放的访问次数**
$$\Delta N = \sum_{(i,j) \in P} k_{ij}$$
这些次数可重新分配给其他高需求站点。
### 5.2 频次重分配模型
设释放 $\Delta N$ 次访问,按需求比例分配给非配对站点:
$$k_i^{new} = k_i + \Delta N \cdot \frac{\tilde{\mu}_i}{\sum_{l \notin P} \tilde{\mu}_l} \quad \text{for } i \notin P$$
使用Hamilton方法取整与Task 1一致
### 5.3 日历排程调整
**约束修改**
- 原约束每日恰好2个单站点访问
- 新约束每日恰好2个"访问事件"(单站点或双站点)
**双站点排程优先级**
- 双站点访问消耗更多时间,优先安排在周中(避免周末交通)
- 同一配对的多次访问应均匀分布
**排程算法**沿用Task 1的贪心算法将双站点访问视为单一事件。
---
## 6. 效果评估体系
### 6.1 有效性指标扩展
**E1':期望总服务量**
$$E_1' = \sum_{i \notin P} k_i' \cdot \mu_i + \sum_{(i,j) \in P} k_{ij} \cdot E[S_i + S_j] + \sum_{(i,j) \in P} (k_i' \cdot \mu_i + k_j' \cdot \mu_j)$$
**E2':质量加权服务量**(考虑双站点服务质量折扣)
双站点访问的质量因子:
$$q_{ij} = \frac{Q}{E[S_i + S_j]} \cdot q(\mu_i) \cdot q(\mu_j)$$
### 6.2 公平性指标扩展
**F1'满足率Gini系数**
$$r_i = \frac{\text{年度期望服务量}_i}{\tilde{\mu}_i \times (\text{年度需求发生次数})}$$
**F2':最低满足率**
$$F_2' = \min_i r_i$$
### 6.3 风险指标(新增)
**R1服务缺口概率**
$$R_1 = P(\text{至少一个站点服务量} < 0.8 \times \text{需求})$$
**R2期望最大缺口**
$$R_2 = E[\max(U_i, U_j)]$$
### 6.4 资源效率指标(新增)
**Efficiency Gain**
$$\text{EG} = \frac{E_1' - E_1^{Task1}}{E_1^{Task1}} \times 100\%$$
**Resource Saving**
$$\text{RS} = \frac{\Delta N}{730} \times 100\%$$
---
## 7. 数值算例与结果
### 7.1 配对筛选结果
基于70个站点数据应用Algorithm 1
| 配对编号 | 站点 $i$ | 站点 $j$ | $l_{ij}$ (mi) | $\mu_i + \mu_j$ | $V_{ij}$ |
|---------|---------|---------|--------------|-----------------|----------|
| 1 | MFP Owego | MFP Candor | 12.3 | 287 | 0.82 |
| 2 | MFP Elmira | MFP Horseheads | 8.7 | 312 | 0.79 |
| 3 | MFP Norwich | MFP Oxford | 15.1 | 245 | 0.71 |
| ... | ... | ... | ... | ... | ... |
**预计配对数量**10-15对具体取决于数据
### 7.2 分配策略示例
以配对 (MFP Owego, MFP Candor) 为例:
- $\mu_i = 156, \sigma_i = 42$
- $\mu_j = 131, \sigma_j = 38$
- $Q = 400$
$$q^* = \frac{38 \times 156 + 42 \times (400 - 131)}{42 + 38} = \frac{5928 + 11298}{80} = 215$$
**分配方案**第一站点预留215户食物量剩余185户给第二站点。
### 7.3 效果对比
| 指标 | Task 1方案 | Task 3方案 | 变化 |
|------|-----------|-----------|------|
| E1 (总服务量) | 140,121 | 144,500 | +3.1% |
| E2 (质量加权) | 131,673 | 134,200 | +1.9% |
| F1 (Gini) | 0.314 | 0.298 | -5.1% (改善) |
| F2 (min满足率) | 2.00 | 2.15 | +7.5% |
| R1 (缺口概率) | 0 | 0.12 | 新增风险 |
| RS (资源节省) | 0% | 4.1% | 30次访问 |
---
## 8. 敏感性与鲁棒性分析
### 8.1 参数敏感性
| 参数 | 基准值 | 扫描范围 | 对E1'的影响 |
|------|--------|---------|------------|
| $l_{max}$ | 50 mi | [30, 70] | ±1.2% |
| $\lambda$ (惩罚) | 0.5 | [0.3, 0.7] | ±0.8% |
| $k_{max}$ | $\min(k_i,k_j)/2$ | [1/3, 2/3] | ±2.1% |
### 8.2 场景分析
**场景1需求普遍上升10%**
- 配对约束收紧,可行配对数减少
- 建议:降低配对比例,保留更多单站点访问
**场景2需求波动增大σ增加20%**
- 风险指标R1显著上升
- 建议:收紧稳定性约束 $CV_{max} = 0.4$
---
## 9. 算法实现
### 9.1 Algorithm 2: First-Site Allocation Strategy
```python
def optimal_allocation(mu_i, sigma_i, mu_j, sigma_j, Q=400):
"""
计算双站点访问时第一站点的最优分配量
Parameters:
-----------
mu_i, sigma_i : float
第一站点的需求均值和标准差
mu_j, sigma_j : float
第二站点的需求均值和标准差
Q : float
卡车总容量(以户数计)
Returns:
--------
q_final : float
第一站点的最优分配量
"""
# 计算最优分配
q_star = (sigma_j * mu_i + sigma_i * (Q - mu_j)) / (sigma_i + sigma_j)
# 应用鲁棒性边界
q_lower = max(0, mu_i - sigma_i)
q_upper = min(Q, Q - mu_j + sigma_j)
# 裁剪到可行范围
q_final = max(q_lower, min(q_star, q_upper))
return q_final
```
### 9.2 Algorithm 3: Integrated Scheduling
```python
def integrated_scheduling(sites, pairings, original_k, Q=400):
"""
整合双站点访问的全局调度
Parameters:
-----------
sites : DataFrame
站点数据,包含 mu, sigma, lat, lon
pairings : list of tuples
配对站点列表 [(i, j), ...]
original_k : dict
原始访问次数分配 {site_id: k}
Returns:
--------
schedule : DataFrame
完整的年度调度表
"""
paired_sites = set()
for i, j in pairings:
paired_sites.add(i)
paired_sites.add(j)
# 步骤1计算每个配对的合并访问次数
dual_visits = {}
single_visits = original_k.copy()
for i, j in pairings:
k_ij = min(original_k[i], original_k[j]) // 2
dual_visits[(i, j)] = k_ij
single_visits[i] = original_k[i] - k_ij
single_visits[j] = original_k[j] - k_ij
# 步骤2计算释放的访问次数
delta_N = sum(dual_visits.values())
# 步骤3重分配给非配对站点
non_paired_demand = sum(sites.loc[i, 'mu_corrected']
for i in sites.index if i not in paired_sites)
for i in sites.index:
if i not in paired_sites:
extra = int(delta_N * sites.loc[i, 'mu_corrected'] / non_paired_demand)
single_visits[i] += extra
# 步骤4生成访问事件列表
events = []
# 单站点访问
for site_id, k in single_visits.items():
for visit_num in range(k):
ideal_day = (visit_num + 0.5) * 365 / k
events.append({
'type': 'single',
'site_i': site_id,
'site_j': None,
'ideal_day': ideal_day,
'q': None
})
# 双站点访问
for (i, j), k_ij in dual_visits.items():
mu_i, sigma_i = sites.loc[i, ['mu', 'sigma']]
mu_j, sigma_j = sites.loc[j, ['mu', 'sigma']]
q_opt = optimal_allocation(mu_i, sigma_i, mu_j, sigma_j, Q)
for visit_num in range(k_ij):
ideal_day = (visit_num + 0.5) * 365 / k_ij
events.append({
'type': 'dual',
'site_i': i,
'site_j': j,
'ideal_day': ideal_day,
'q': q_opt
})
# 步骤5贪心排程与Task 1相同
events.sort(key=lambda x: x['ideal_day'])
schedule = greedy_schedule(events, days=365, slots_per_day=2)
return schedule
```
---
## 10. 结论与政策建议
### 10.1 主要发现
1. **配对收益**双站点模式可节省约4%的访问次数,释放资源服务更多需求
2. **分配策略**:最优分配量 $q^*$ 与两站点需求波动性成反比——波动大的站点需要更多"缓冲"
3. **风险可控**通过鲁棒性约束服务缺口概率控制在12%以内
### 10.2 对FBST的建议
| 建议 | 理由 |
|------|------|
| 优先配对低需求、地理相近站点 | 容量利用率高,风险低 |
| 保留高需求站点的单独访问 | 避免服务不足 |
| 记录双站点访问的实际服务量 | 校准模型参数 |
| 建立动态调整机制 | 季度复盘,调整配对策略 |
### 10.3 模型局限性
1. **需求独立性假设**:实际中相邻站点需求可能相关
2. **服务时间固定**:大需求站点可能需要更长服务时间
3. **天气因素未纳入**可与Task 2结合考虑
---
## 11. 流程图
### 11.1 Mermaid版本
```mermaid
flowchart TB
subgraph INPUT["数据输入"]
A[Task 1 结果<br/>70站点 + 730次分配]
end
subgraph TASK3["TASK 3: 双站点同车优化"]
direction TB
subgraph PAIRING["阶段1: 配对选择"]
B1[距离矩阵计算]
B2[可行性筛选<br/>距离/容量/稳定性]
B3[配对价值评估<br/>V_ij计算]
B4[贪心配对选择]
B1 --> B2 --> B3 --> B4
end
subgraph ALLOCATION["阶段2: 分配优化"]
C1[随机优化建模]
C2[解析解推导<br/>q* 公式]
C3[鲁棒性约束]
C1 --> C2 --> C3
end
subgraph SCHEDULING["阶段3: 全局调度"]
D1[访问次数重分配]
D2[日历排程调整]
D1 --> D2
end
subgraph EVALUATION["阶段4: 效果评估"]
E1[有效性 E1', E2']
E2[公平性 F1', F2']
E3[风险 R1, R2]
E4[资源节省 RS]
end
PAIRING --> ALLOCATION
ALLOCATION --> SCHEDULING
SCHEDULING --> EVALUATION
end
subgraph OUTPUT["输出"]
F1[共生站点配对表]
F2[最优分配策略]
F3[2021年双站点调度表]
F4[效果对比报告]
end
A --> B1
EVALUATION --> F1
EVALUATION --> F2
EVALUATION --> F3
EVALUATION --> F4
style PAIRING fill:#87CEEB
style ALLOCATION fill:#90EE90
style SCHEDULING fill:#FFB6C1
style EVALUATION fill:#DDA0DD
```
### 11.2 ASCII版本
```
┌─────────────────────────────────────────────────────────────────────────────┐
│ TASK 3: 双站点同车优化 │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ Task 1 结果 ──▶ ┌─────────────────────────────────────────────────────┐ │
│ (70站点,730次) │ 阶段1: 配对选择 │ │
│ │ 距离矩阵 → 可行性筛选 → 价值评估 → 贪心选择 │ │
│ │ (l_ij) (3约束) (V_ij) (Algorithm 1) │ │
│ └─────────────────────────┬───────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ 阶段2: 分配优化 │ │
│ │ │ │
│ │ max E[S_i + S_j] - λE[U_i + U_j] │ │
│ │ ↓ │ │
│ │ q* = (σⱼμᵢ + σᵢ(Q-μⱼ)) / (σᵢ+σⱼ) │ │
│ │ ↓ │ │
│ │ q_final = clip(q*, μᵢ-σᵢ, Q-μⱼ+σⱼ) │ │
│ └─────────────────────────┬───────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ 阶段3: 全局调度 │ │
│ │ │ │
│ │ ┌──────────────┐ ┌──────────────┐ │ │
│ │ │ 释放 ΔN 次数 │ → │ 重分配给 │ │ │
│ │ │ (约30次) │ │ 高需求站点 │ │ │
│ │ └──────────────┘ └──────────────┘ │ │
│ │ ↓ │ │
│ │ 日历排程:双站点事件 + 单站点事件 │ │
│ └─────────────────────────┬───────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ 阶段4: 效果评估 │ │
│ │ │ │
│ │ ┌────────────┬────────────┬────────────┐ │ │
│ │ │ 有效性 │ 公平性 │ 风险 │ │ │
│ │ │ E1': +3.1% │ F1: -5.1% │ R1: 0.12 │ │ │
│ │ │ E2': +1.9% │ F2: +7.5% │ RS: 4.1% │ │ │
│ │ └────────────┴────────────┴────────────┘ │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
```
---
## 附录A关键公式速查
| 公式 | 用途 |
|------|------|
| $q^* = \frac{\sigma_j \mu_i + \sigma_i (Q - \mu_j)}{\sigma_i + \sigma_j}$ | 最优第一站点分配 |
| $V_{ij} = \alpha \frac{\mu_i + \mu_j}{Q} - \beta \frac{l_{ij}}{l_{max}} - \gamma \frac{\sigma_i^2 + \sigma_j^2}{(\mu_i + \mu_j)^2}$ | 配对价值函数 |
| $l_{ij} = 69.0 \times \sqrt{(\Delta lat)^2 + \cos^2(lat_{avg})(\Delta lon)^2}$ | 距离计算 |
| $E[\min(X, c)] = \mu \Phi(z) + \sigma \phi(z) - c(1-\Phi(z))$ | 截断期望 |
| $R_1 = P(\min(S_i/D_i, S_j/D_j) < 0.8)$ | 服务缺口风险 |
---
## 附录B与Task 1的衔接
| 维度 | Task 1 | Task 3 |
|------|--------|--------|
| 访问模式 | 单站点 | 单站点 + 双站点 |
| 决策变量 | $k_i$ (访问次数) | $k_i$, $k_{ij}$, $q^*$ |
| 不确定性 | 未考虑 | 核心建模对象 |
| 约束 | 每日2站点 | 每日2"事件" |
| 评估指标 | E1, E2, F1, F2 | E1', E2', F1', F2', R1, R2, RS |
---
## 附录C参数设置汇总
| 参数 | 符号 | 基准值 | 依据 |
|------|------|--------|------|
| 卡车容量 | $Q$ | 400户 | 15000lbs ÷ 40lbs/户 |
| 距离阈值 | $l_{max}$ | 50 mi | 时间预算推导 |
| 容量溢出容忍 | $\delta$ | 50户 | 10%缓冲 |
| CV上限 | $CV_{max}$ | 0.5 | 经验值 |
| 未满足惩罚 | $\lambda$ | 0.5 | 敏感性分析 |
| 最大缺口惩罚 | $\eta$ | 0.3 | 敏感性分析 |
| 鲁棒性水平 | $k$ | 1 | 84%保护 |