Combinatorial bilevel congestion pricing (CBCP), a variant of the discrete network design problem, seeks to minimize the total travel time experienced by all travelers in a road network, by strategically selecting toll locations and determining the corresponding charges. Conventional wisdom suggests that these problems are intractable since they have to be formulated and solved with a significant number of integer variables. Here, we devise a scalable local algorithm for the CBCP problem that guarantees convergence to a Kuhn-Tucker-Karush point. Our approach is novel in that it eliminates the use of integer variables altogether, instead introducing a cardinality constraint that limits the number of toll locations to a user-specified upper bound. The resulting bilevel program with the cardinality constraint is then transformed into a block-separable, single-level optimization problem that can be solved efficiently after penalization and decomposition. We are able to apply the algorithm to solve, in about 20 minutes, a CBCP instance with up to 3,000 links, of which hundreds can be tolled. To the best of our knowledge, no existing algorithm can solve CBCP problems at such a scale while providing any assurance of convergence.
翻译:组合双层拥堵定价(CBCP)作为离散网络设计问题的一个变体,旨在通过策略性地选择收费路段并确定相应费率,以最小化道路网络中所有出行者的总行程时间。传统观点认为此类问题难以求解,因为其建模与求解需要处理大量整数变量。本文针对CBCP问题设计了一种可扩展的局部算法,该算法能保证收敛至Kuhn-Tucker-Karush点。本方法的创新之处在于完全摒弃了整数变量的使用,转而引入基数约束以将收费路段数量限制在用户指定的上限内。随后将带有基数约束的双层规划问题转化为块可分离的单层优化问题,该问题经过惩罚项处理与分解后可高效求解。该算法能在约20分钟内求解包含多达3000条路段(其中数百条可设为收费路段)的CBCP实例。据我们所知,现有算法尚无法在此规模下求解CBCP问题并同时提供收敛性保证。