From ae3d4cffdeb8ce464d6c6cdd38f95192145a950c Mon Sep 17 00:00:00 2001 From: ntnt Date: Sun, 18 Jan 2026 14:43:22 +0800 Subject: [PATCH] P3: readme fix --- README.md | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index e40a8f9..8c131b0 100644 --- a/README.md +++ b/README.md @@ -44,9 +44,24 @@ Optimize a 365-day schedule with at most 2 visits per day and minimum gap constr 使用 `kmin_effectiveness.py` 得到各站点年度访问频次 `f_i` 与需求分布(均值、标准差)。 记单车载量 `C=15000lb`(或折算为服务人数上限 `C_OPT`),每次出车总量不超过 `C`。 -2. **候选配对生成** - 基于地理距离/车程/同县等规则,生成可在同日完成的站点对 `(i, j)`;仅保留“距离阈值内 + 预期需求量不极端失衡”的组合。 - 可直接使用数据中的经纬度(若有)或县域分组构造“近邻候选集”。 +2. **候选配对生成(Manhattan 距离,基于经纬度)** + 设站点 `i` 的坐标为 `(lat_i, lon_i)`,在不使用道路网的情况下,用曼哈顿距离近似“同日可达性”。 + 推荐用“纬度/经度分别折算为里程”的加权曼哈顿: + ``` + d_ij = 69.0 * |lat_i - lat_j| + 69.0 * cos(lat0) * |lon_i - lon_j| + ``` + 其中 `lat0` 可取所有站点纬度均值(单位:英里)。若仅需相对距离,也可用 + `|lat_i - lat_j| + |lon_i - lon_j|` 作为无量纲近似。 + 具体配对流程(可直接脚本化): + - **距离筛选**:对每个站点 `i`,计算与所有 `j != i` 的 `d_ij`,保留 `d_ij <= d_max` + 或取 `k` 个最近邻(如 `k=5~8`),得到近邻集合 `N(i)`。 + - **需求均衡筛选**:对候选 `(i, j)`,要求 + `mu_i / mu_j` 处于区间 `[r_min, r_max]`(如 `[0.5, 2.0]`), + 或 `|mu_i - mu_j| <= delta_mu`,避免极端失衡导致第二站缺货。 + - **波动风险筛选**:若 `sigma_i` 或 `sigma_j` 过大(如 `sigma / mu > 0.5`), + 则优先作为第二站(或直接剔除)以降低不确定性风险。 + - **最终候选集**:`P = {(i, j) | j in N(i) 且满足需求/波动筛选}`, + 再去重(`(i, j)` 与 `(j, i)` 合并)并记录候选对的 `d_ij` 与需求统计。 3. **第一站分配量优化(核心不确定性)** 假设 `D_i ~ Normal(mu_i, sigma_i)` 与 `D_j ~ Normal(mu_j, sigma_j)`,选择第一站上限 `q_i`: