The combinatorial pricing problem (CPP) is a bilevel problem in which the leader maximizes their revenue by imposing tolls on certain items that they can control. Based on the tolls set by the leader, the follower selects a subset of items corresponding to an optimal solution of a combinatorial optimization problem. To accomplish the leader's goal, the tolls need to be sufficiently low to discourage the follower from choosing the items offered by the competitors. In this paper, we derive a single-level reformulation for the CPP by rewriting the follower's problem as a longest path problem using a dynamic programming model, and then taking its dual and applying strong duality. We proceed to solve the reformulation in a dynamic fashion with a cutting plane method. We apply this methodology to 2 distinct dynamic programming models, namely, a novel formulation designated as selection diagram and the well-known decision diagram. We also produce numerical results to evaluate their performances across 3 different specializations of the CPP and a closely related problem that is the knapsack interdiction problem. Our results showcase the potential of the 2 proposed reformulations over the natural value function approach, expanding the set of tools to solve combinatorial bilevel programs.
翻译:组合定价问题(CPP)是一个双层问题,其中领导者通过对其可控制的某些物品征收通行费来最大化其收入。基于领导者设定的通行费,跟随者选择对应于组合优化问题最优解的一个子集。为了实现领导者的目标,通行费需要足够低,以阻止跟随者选择竞争对手提供的物品。在本文中,我们通过将跟随者的问题重写为使用动态规划模型的最长路径问题,然后取其对偶并应用强对偶性,推导出CPP的单层重构。我们进一步采用割平面法以动态方式求解该重构。我们将此方法应用于两种不同的动态规划模型,即一种称为选择图的新颖公式和著名的决策图。我们还生成了数值结果,以评估它们在CPP的三种不同特例以及一个密切相关的问题(即背包拦截问题)上的性能。我们的结果展示了两种提议的重构优于自然值函数方法的潜力,扩展了求解组合双层规划的工具集。