从“两阶段”到“距离单目标”:VRPTW 真的“换目标”了吗?

从“两阶段”到“距离单目标”:VRPTW 真的“换目标”了吗?

副标题: 从问题定义、基准协议到算法设计,理解“先减车辆、再减距离”为何在现代论文中不再总是显式出现

适读对象: 运筹优化、智能优化、车辆路径与物流调度方向的研究生
关键词: VRPTW;层级优化;词典序目标;车辆数;总行驶距离;SINTEF;DIMACS;HGS;PyVRP
资料范围: 截至 2026 年 8 月可检索的论文与官方基准说明

导语:我们看到的,究竟是“算法退潮”还是“问题换了定义”?

在经典车辆路径问题(Vehicle Routing Problem with Time Windows, VRPTW)的启发式文献中,曾经有一条非常醒目的技术路线:

  1. 第一阶段尽可能减少车辆数;
  2. 第二阶段在车辆数固定后最小化总行驶距离。

Bent 和 Van Hentenryck(2004)、Lim 和 Zhang(2007)以及 Nagata、Bräysy 和 Dullaert(2010)都是这一路线的代表性工作。[4–6]

然而,阅读近年来的精确算法、开源求解器以及大规模 VRPTW 论文时,我们又经常看到另一种表述:车辆数或可用车队规模预先给定,算法只最小化总行驶距离。2021—2022 年 DIMACS VRPTW 挑战赛、其优胜 HGS 求解器,以及后续 PyVRP 都属于这一体系。[9–11]

于是,一个很自然的问题出现了:

既然两阶段方法曾经如此常用,为什么现在很多论文不再先求最少车辆,而只优化距离?

本文的核心结论是:

这并不意味着两阶段方法已经过时,更不意味着学界证明了“车辆数不重要”。更准确的解释是:不同文献采用了不同的问题语义、基准协议和评价指标。评价规则改变后,算法自然围绕新的规则演化,于是形成了“越来越少优化车辆数”的文献表象。

需要提前说明的是,本文所说的“趋势”是对经典基准、精确算法和现代大规模求解器这条研究主线的证据性观察,并非一项覆盖全部 VRPTW 文献的计量研究。若要断言“全领域中两阶段论文的比例逐年下降”,仍需要单独开展系统性文献检索和统计分析。

一、先把四种容易混淆的“VRPTW 目标”分开

设:

  • \(K(x)\):解 \(x\) 使用的车辆数;在标准单仓库、单行程 VRPTW 中,它也等于非空路线数;
  • \(D(x)\):解 \(x\) 的总行驶距离;
  • \(K_{\max}\):给定的可用车辆上限;
  • \(\Omega\):满足客户覆盖、容量和时间窗等约束的可行域。

文献中至少存在以下四种不同的优化语义。

范式 数学表达 真正回答的问题
层级/词典序优化 \(\min_{x\in\Omega}^{\mathrm{lex}}\big(K(x),D(x)\big)\) 先找到最少车辆数,再在所有最少车辆解中寻找最短距离
固定或受限车队的距离优化 \(\min D(x)\),且 \(K(x)\le K_{\max}\) 在现有车队条件下,怎样把当天路线走得最短
综合经济成本优化 \(\min \{c_KK(x)+c_DD(x)+c_TT(x)+c_EE(x)+\cdots\}\) 在车辆固定成本、里程、人工、能源和排放之间进行货币化权衡
Pareto 多目标优化 \(\min \big(K(x),D(x)\big)\) 输出一组互不支配解,让决策者观察“少用车”和“少走路”之间的权衡

这四种模型不是同一件事。

1. 词典序目标不等于一般的双目标优化

在词典序目标中,减少一辆车具有绝对优先级。只要车辆数更少,无论距离增加多少,解都更优。例如:

  • 解 A:\(K=10\)\(D=1000\)
  • 解 B:\(K=9\)\(D=10000\)

严格词典序仍然选择 B。换言之,它隐含了“减少一辆车的价值高于任何可能的距离节省”。这在车队配置具有战略意义时可能合理,但并非适用于所有运营场景。

2. 固定车队的距离目标没有“漏掉”车辆数

若企业已经拥有 20 辆车,或班次、司机和车辆资源在更高层决策中已经确定,那么车辆数在日常路径规划中是一个外生约束,而不是需要再次优化的目标。此时最小化距离完全符合决策层级。

3. 综合成本也不等于词典序目标

若每启用一辆车的固定成本为 \(c_K\),每单位距离成本为 \(c_D\),那么车辆数与距离之间存在有限的经济交换率。只有在 \(c_K\) 大到足以压过任意可行距离差时,加权和才可能等价于词典序排序。随意设置一个“大权重”并不能自动保证这种等价性,还可能造成数值稳定性问题。

因此,看到两篇文章都写“研究 VRPTW”,不能据此认为它们求解的是同一个优化问题。首先要检查目标语义,其次才是比较算法。

二、历史链路:距离单目标并不是最近才出现的

2.1 1987 年:同一时期已经存在不同问题语义

Solomon(1987)提出了后来被广泛使用的 56 个 100 客户基准实例,并系统比较了多种构造启发式。[1] 但不宜把今天 SINTEF 排行榜中的严格词典序规则直接归因于 Solomon 原文。

一个很有说明力的事实是:同样在 1987 年,Kolen、Rinnooy Kan 和 Trienekens 研究的 VRPTW 就明确采用固定车队并最小化总路线长度的定义。[2] 这说明“车辆优先”和“距离优先/距离单目标”从早期开始就是并存的研究传统,而不是后来才发生的一次整齐划一的目标切换。

2.2 1999—2010 年:层级目标与两阶段启发式形成强势传统

Gehring 和 Homberger(1999)把经典实例扩展到 200—1000 个客户。[3] 随后,一批高性能启发式方法采用了层级目标,并把算法显式拆分为车辆压缩和距离优化两个阶段:

  • Bent 和 Van Hentenryck(2004):第一阶段用模拟退火减少车辆数,第二阶段用大邻域搜索降低旅行成本;[4]
  • Lim 和 Zhang(2007):第一阶段通过 ejection pool 减少车辆,第二阶段通过多起点迭代爬山和广义弹射链缩短距离;[5]
  • Nagata、Bräysy 和 Dullaert(2010):先调用路线数最小化程序,再运行基于边组装的模因算法优化距离。[6]

Nagata 等人在论文第 724—725 页给出了非常关键、但必须放回时代背景中理解的总结:[6]

  • VRPTW 中既常见总距离目标,也常见“车辆数第一、距离第二”的层级目标;
  • 当时的精确算法传统上多采用总距离单目标;
  • 当时领先的层级启发式普遍采用两阶段框架。

这里的“领先方法普遍如此”是对 2010 年前后特定文献集合的综述性判断,不是一个跨时代定理,也不能被改写成“所有 VRPTW 都应该采用两阶段”。

Nagata 等人的表 1 还显示,在 Solomon 的 56 个 100 客户实例上,被比较算法的累计车辆数均达到当时最佳已知值 405。[6] 当车辆数这一维度在一组基准上已经高度饱和后,算法之间主要依靠距离继续拉开差距。这是后来研究更重视距离质量的一个实际背景,但它并不能单独解释所有文献变化。

2.3 SINTEF:把层级目标正式固化为一个排行榜协议

SINTEF 的 Gehring–Homberger 基准页面明确规定:[7]

  1. 首先最小化车辆数;
  2. 然后最小化总距离;
  3. 距离和时间使用双精度计算,最终距离保留两位小数。

该页面同时提醒:许多精确算法只最小化距离,并使用整数或较低精度的距离与时间,因此结果不能直接比较。[7]

这句话非常重要。它说明所谓“最佳已知解”并不是脱离协议而存在的绝对数字;目标优先级、距离精度和舍入方式不同,就形成了不同的成绩体系。

2.4 精确算法传统:长期围绕最小成本或最小距离建模

Nagata 等人 2010 年的综述已经指出精确算法的距离单目标传统。[6] 后续代表性工作仍延续了这一方向。例如,Pecin 等人(2017)把 VRPTW 定义为寻找满足需求和时间窗的最小成本车辆路线,并用 branch-price-and-cut 求得全部 56 个 Solomon 实例以及 60 个 200 客户 Gehring–Homberger 实例中的 51 个最优解。[8]

因此,不能把现代距离单目标简单理解为“启发式领域放弃了过去的共识”。更准确的历史图景是:

层级启发式与距离单目标精确算法长期并行发展;不同研究社区只是选择了不同的主问题。

2.5 2021—2025 年:DIMACS、HGS、PyVRP 与大规模分解强化了距离单目标主线

2021—2022 年第 12 届 DIMACS 实现挑战赛为现代求解器建立了一套影响很大的 VRPTW 协议。官方问题页将可行解定义为使用不超过给定车辆数的路线集合,并以距离作为优化对象。[10]

Kool 等人(2022)的优胜 HGS 技术报告进一步把规则写得很清楚:[9]

  • 目标只最小化距离,不最小化车辆数;
  • 欧氏距离截断到一位小数;
  • 每个实例给定可用车辆数;
  • SINTEF 采用双精度并把车辆数作为第一目标,因此两套参考解不能混为一谈。

2024 年发表在 INFORMS Journal on Computing 的 PyVRP 延续了 DIMACS 约定。论文第 2 节明确说明:PyVRP 支持距离最小化,不直接最小化车辆数;若要做车队最小化,可以在求解器外层先得到一个可行解,再逐次删减一辆车,直到无法找到可行解。[11]

这恰好揭示了“两阶段消失”的一个关键机制:

车辆最小化没有必然消失,它可能从求解器的内部目标函数移动到了外层控制程序。

到了 2025 年,Kerscher 和 Minner 的 Decompose–Route–Improve 框架继续在固定车队、最小旅行成本的语义下研究大规模 VRPTW,并将实验规模扩展到 30,000 个客户。[12] 这表明,在“大规模可扩展求解”这一前沿方向上,固定车队加距离目标已经形成一条清晰且活跃的技术路线。

2.6 一张表看清演化脉络

时间与代表工作 采用的目标/协议 它说明了什么
Solomon(1987)[1] 经典实例与启发式比较 奠定公共测试基础,但不能与后来的 SINTEF 排名规则完全等同
Kolen 等(1987)[2] 固定车队,最小总路线长度 距离单目标从早期就存在
Homberger–Gehring(1999)[3] 扩展至 200—1000 客户 为大规模层级启发式竞争提供实例基础
Bent(2004)、Lim(2007)[4,5] 先车辆数、后距离 显式两阶段方法成为代表性路线
Nagata 等(2010)[6] 区分精确算法的距离传统与启发式的层级传统 记录了当时两条研究支流并存的状态
SINTEF 排行榜[7] 词典序 \((K,D)\),双精度 固化层级目标的比较协议
Pecin 等(2017)[8] 最小成本/距离的精确求解 精确算法继续采用单成本主问题
DIMACS–HGS(2021—2022)[9,10] \(K\le K_{\max}\),仅最小化一位小数距离 建立现代可复现竞赛协议
PyVRP(2024)[11] 内核优化距离;车队压缩可置于外层 两阶段被模块化,而非被否定
Kerscher–Minner(2025)[12] 固定车队、旅行成本;最高 30,000 客户 距离单目标与超大规模研究结合

三、为什么现代算法论文更常显式优化距离?

原因一:基准协议决定了研究激励

算法研究高度依赖公共基准。如果排行榜按 \((K,D)\) 的词典序排序,研究者就会优先设计路线删除、客户弹射和车辆压缩机制;如果竞赛按距离、运行时间或 primal integral 评分,研究者就会把算力集中到更快地降低距离。

逻辑链条是:

问题语义 → 基准协议 → 评分指标 → 算法组件 → 论文中的“主流方法”

DIMACS 的影响不仅在于举办了一次竞赛,还在于它提供了统一的数据处理、计时和评价规则。获胜算法被开源并演化成 PyVRP 后,大量后续研究自然继承了相同目标。

原因二:车辆数可能已经在更高层决策中确定

车辆采购、长期租赁、司机招聘属于战略或战术层决策;每日配送路线属于运营层决策。在许多企业场景中,算法运行时可用车辆已经确定。此时强行把“最少车辆”设为第一目标,反而可能改变原问题。

因此,现代文献中的固定车队并不必然代表模型退化,而可能代表决策边界更加清晰。

原因三:严格词典序隐含了极强的经济偏好

词典序模型愿意为减少一辆车接受任意大的距离增加。现实中,车辆固定成本、司机成本和里程成本通常都有限,企业更可能优化:

\[\text{总成本}=\text{车辆固定成本}+\text{司机成本}+\text{燃料成本}+\text{排放成本}+\text{迟到或服务成本}. \]

例如,Liu 等人(2020)的时变城市物流 VRPTW 同时计入已用车辆的固定成本、司机成本、燃料消耗和碳排放。[13] 这类应用研究并不是简单地从“双目标”退回“距离单目标”,而是从抽象的词典序规则转向了更丰富的综合成本。

原因四:车辆数是离散且稀疏的信号,距离是连续且密集的信号

在局部搜索或进化搜索中,大量不同解可能具有相同车辆数,而距离能够更细致地区分它们。尤其当一个基准集合的最佳车辆数已经被多数算法达到时,继续比较车辆数几乎没有分辨率,距离便自然成为主要质量指标。

这不意味着车辆数不难。恰恰相反,从 \(K\) 辆压缩到 \(K-1\) 辆往往需要大规模重构路线,是一个明显的“台阶式”搜索过程。两阶段方法正是通过把这个离散跳跃与固定 \(K\) 下的距离微调分离,来稳定搜索过程。

原因五:固定 \(K\) 更利于形成通用、可复现的求解器内核

当车辆数固定或只作为上限时,解表示、交叉、局部搜索、罚函数和距离增量评价都可以围绕一个稳定的路线结构实现。一个高性能距离求解器还可以被复用于 CVRP、VRPTW 及许多富车辆路径变体。

这也是 PyVRP 采用“距离内核 + 外层车队压缩”的工程理由:核心求解器保持通用,层级目标由包装程序实现。[11]

不过,必须避免一个错误推论:距离单目标在数学上并不天然比词典序目标“更正确”或“唯一可求解”。 词典序目标可以通过两次优化、向量比较、\(\varepsilon\)-约束,或在拥有安全上界时用严格的大权重编码。区别主要在于研究问题和软件架构,而不是能不能算。

原因六:应用型 VRP 的目标正在变得更丰富

绿色物流、电动车、时变路网、冷链、服务公平性和客户不便成本等研究,常常把距离与能源、时间、排放、服务质量共同纳入模型。现代应用文献的变化,更准确地说是从“只比较车辆数和距离”走向“显式描述运营成本与服务后果”。

因此,“现在的文章都只求距离”本身也是过度概括:

  • 经典基准和通用求解器文献中,距离单目标确实很突出;
  • 真实应用与富 VRP文献中,综合成本或多目标模型反而越来越常见;
  • 车队配置问题中,车辆数仍然是核心决策。

四、两阶段方法并没有消失:它只是以三种形式继续存在

形式一:显式的“车辆压缩—距离优化”

这就是 Bent、Lim、Nagata 等经典方法。第一阶段改变路线数量,第二阶段在固定车辆数下精修距离。[4–6]

形式二:距离求解器外部的 route-elimination wrapper

PyVRP 给出的建议就是典型例子:在 \(K\) 辆下找到可行解,然后尝试 \(K-1\) 辆;成功则继续减少,失败则停止。[11] 从算法结构看,这仍然是两层求解,只是核心求解器本身只认识距离目标。

形式三:综合成本模型中的隐式车辆权衡

当目标函数包含车辆固定成本时,减少一辆车会直接降低目标值,但是否值得要与额外距离、司机工时或能源成本共同决定。此时不再需要把车辆数设成绝对第一目标,却仍然在优化车队使用。

所以,与其问“两阶段为什么消失”,不如问:

车辆数在这篇论文里究竟是第一优先级、约束、成本项,还是被放在了外层算法?

这个问题通常可以在问题定义和实验协议中找到答案。


五、一个必须严谨处理的问题:没有找到可行解,不等于证明不可行

很多启发式两阶段算法采用如下过程:

  1. \(K\) 辆车下搜索可行解;
  2. 找到后尝试 \(K-1\) 辆;
  3. 若在时限内没有找到 \(K-1\) 辆可行解,则返回 \(K\)

这一过程可以得到很好的车辆数,但其逻辑边界必须说清楚。

设真实最少车辆数为 \(K^*\),算法当前找到的最好车辆数为 \(\hat K\)。若启发式在 \(K-1\) 辆下失败,只能说明:

\[K^*\le \hat K=K, \]

不能据此证明 \(K^*=K\)。失败可能意味着 \(K-1\) 确实不可行,也可能只是搜索时间不足、初始化不佳或算法陷入局部区域。

只有在以下情形之一成立时,才可以严格声称找到了最少车辆数:

  • 找到一个可行解,其车辆数等于一个已证明的下界;
  • 使用精确方法证明 \(K-1\) 辆不可行;
  • 获得其他有效的不可行性证书。

最常见的容量下界为:

\[LB_Q=\left\lceil\frac{\sum_i q_i}{Q}\right\rceil. \]

如果算法找到了 \(LB_Q\) 辆的可行解,那么 \(K^*=LB_Q\) 可以被证明。反之,如果算法在 \(LB_Q\) 辆下没有找到解,并不能说明 \(LB_Q\) 辆必然不可行;时间窗还可能使这个下界偏弱。

因此,启发式论文中建议使用以下表述:

  • “best-found number of vehicles”;
  • “smallest fleet size found within the time budget”;
  • “best-known fleet size”;
  • 只有获得证明时才写 “minimum fleet size” 或 “optimal number of vehicles”。

实验中还可以同时报告 \([LB,\hat K]\)、达到已知最佳车辆数的成功率、首次找到该车辆数的时间,以及固定该车辆数后的距离质量。这样比只报告一个最终距离更能揭示两阶段算法的真实能力。


六、阅读和比较 VRPTW 论文时,至少检查这五件事

检查项 需要回答的问题 若忽略会发生什么
目标语义 是词典序 \((K,D)\)、固定车队距离、综合成本还是 Pareto? 把不同问题的“最优解”混在一起
车辆规则 \(K\) 是决策变量、硬上限、固定值还是固定成本项? 误以为距离算法忽略了车辆数
距离与时间精度 双精度、整数、四舍五入还是截断到一位小数? 同一路线得到不同可行性和距离
可行性定义 时间窗边界、仓库关闭时间、等待、服务时间如何处理? 得到不可复现或实际不可行的结果
最优性口径 是证明最优、最佳已知、单次最好、均值还是成功率? 把启发式失败误写成不可行证明

尤其要记住:SINTEF 与 DIMACS 即使使用同名 Solomon 或 Gehring–Homberger 实例,其目标优先级和数值精度也不同,距离结果不能直接横向排名。[7,9,10]


七、三个常见误区

误区一:“近年来只优化距离,说明车辆数已经不重要”

错误。它可能意味着车辆数已被固定、已在更高层决定、已转化为成本项,或由外层程序处理。

误区二:“先车辆、后距离就是 Pareto 多目标算法”

错误。严格先后顺序属于词典序优化,只选择一种预设偏好;Pareto 优化通常输出多种权衡解。

误区三:“尝试 \(K-1\) 辆失败,所以 \(K\) 就是最少车辆数”

对启发式算法而言不成立。除非达到已证明下界或获得不可行性证书,否则只能说 \(K\) 是当前找到的最好车辆数。


结语:看似是“方法变了”,实质是“评价问题变了”

回到最初的问题:为什么现在很多文章不再显式采用“先车辆数、再距离”的两阶段方法?

完整答案不是一句“因为距离更重要”,而是一条因果链:

  1. 决策场景不同:车队可能是战略变量,也可能是已知运营资源;
  2. 问题定义不同:词典序、固定车队、综合成本和 Pareto 回答的是不同问题;
  3. 基准协议不同:SINTEF 奖励 \((K,D)\),DIMACS 奖励给定车队下的距离与速度;
  4. 评价指标不同:车辆压缩成功率、距离差距和 anytime 性能会引导不同算法设计;
  5. 软件架构不同:现代求解器常把距离优化放在通用内核中,把车辆压缩放到外层;
  6. 文献表象随之改变:我们看到更多距离单目标论文,但两阶段思想仍以显式阶段、外层包装或综合成本的形式存在。

所以,真正严谨的研究问题不是“应该选两阶段还是距离单目标”,而是:

在我的决策场景中,车辆数究竟是什么变量?我采用哪一套可复现的基准协议?算法声称的“最少车辆”是否获得了证明?

把这三个问题回答清楚,算法设计、相关工作和实验比较才会落在同一条逻辑链上。


参考文献

[1] Solomon, M. M. (1987). Algorithms for the Vehicle Routing and Scheduling Problems with Time Window Constraints. Operations Research, 35(2), 254–265. https://doi.org/10.1287/opre.35.2.254

[2] Kolen, A. W. J., Rinnooy Kan, A. H. G., & Trienekens, H. W. J. M. (1987). Vehicle Routing with Time Windows. Operations Research, 35(2), 266–273. https://doi.org/10.1287/opre.35.2.266

[3] Homberger, J., & Gehring, H. (1999). Two Evolutionary Metaheuristics for the Vehicle Routing Problem with Time Windows. INFOR: Information Systems and Operational Research, 37(3), 297–318. https://doi.org/10.1080/03155986.1999.11732386

[4] Bent, R., & Van Hentenryck, P. (2004). A Two-Stage Hybrid Local Search for the Vehicle Routing Problem with Time Windows. Transportation Science, 38(4), 515–530. https://doi.org/10.1287/trsc.1030.0049

[5] Lim, A., & Zhang, X. (2007). A Two-Stage Heuristic with Ejection Pools and Generalized Ejection Chains for the Vehicle Routing Problem with Time Windows. INFORMS Journal on Computing, 19(3), 443–457. https://doi.org/10.1287/ijoc.1060.0186

[6] Nagata, Y., Bräysy, O., & Dullaert, W. (2010). A Penalty-Based Edge Assembly Memetic Algorithm for the Vehicle Routing Problem with Time Windows. Computers & Operations Research, 37(4), 724–737. https://doi.org/10.1016/j.cor.2009.06.022

[7] SINTEF. Gehring & Homberger VRPTW Benchmark—200 Customers. 官方页面明确给出层级目标与双精度规则,其他规模页面采用同一说明。访问日期:2026-08-17. https://www.sintef.no/projectweb/top/vrptw/200-customers/

[8] Pecin, D., Contardo, C., Desaulniers, G., & Uchoa, E. (2017). New Enhancements for the Exact Solution of the Vehicle Routing Problem with Time Windows. INFORMS Journal on Computing, 29(3), 489–502. https://doi.org/10.1287/ijoc.2016.0744

[9] Kool, W., Olde Juninck, J., Roos, E., Cornelissen, K., Agterberg, P., van Hoorn, J., & Visser, T. (2022). Hybrid Genetic Search for the Vehicle Routing Problem with Time Windows: A High-Performance Implementation. Technical report for the 12th DIMACS Implementation Challenge. https://wouterkool.github.io/pdf/paper-kool-hgs-vrptw.pdf

[10] DIMACS. 12th DIMACS Implementation Challenge—VRP with Time Windows. 官方问题与可行性协议。访问日期:2026-08-17. https://dimacs.rutgers.edu/programs/challenge/vrp/vrptw/

[11] Wouda, N. A., Lan, L., & Kool, W. (2024). PyVRP: A High-Performance VRP Solver Package. INFORMS Journal on Computing, 36(4), 943–955. https://doi.org/10.1287/ijoc.2023.0055

[12] Kerscher, C., & Minner, S. (2025). Decompose–Route–Improve Framework for Solving Large-Scale Vehicle Routing Problems with Time Windows. Transportation Research Part E: Logistics and Transportation Review, 204, 104409. https://doi.org/10.1016/j.tre.2025.104409

[13] Liu, C., Kou, G., Zhou, X., Peng, Y., Sheng, H., & Alsaadi, F. E. (2020). Time-Dependent Vehicle Routing Problem with Time Windows of City Logistics with a Congestion Avoidance Approach. Knowledge-Based Systems, 188, 104813. https://doi.org/10.1016/j.knosys.2019.06.021

[14] Vidal, T., Crainic, T. G., Gendreau, M., & Prins, C. (2013). A Hybrid Genetic Algorithm with Adaptive Diversity Management for a Large Class of Vehicle Routing Problems with Time-Windows. Computers & Operations Research, 40(1), 475–489. https://doi.org/10.1016/j.cor.2012.07.018

[15] Nagata, Y., & Kobayashi, S. (2010). A Memetic Algorithm for the Pickup and Delivery Problem with Time Windows Using Selective Route Exchange Crossover. In Parallel Problem Solving from Nature—PPSN XI, LNCS 6238, 536–545. https://doi.org/10.1007/978-3-642-15844-5_54


posted @ 2026-08-18 03:52  WUST许志伟  阅读(6)  评论(0)    收藏  举报