Accelerating Hybrid Model Predictive Control using Warm-Started Generalized Benders Decomposition
Xuan Lin
TL;DR
This work tackles the real-time challenge of hybrid model predictive control by leveraging Generalized Benders Decomposition (GBD) with a warm-start mechanism. By storing and transferring cutting planes across MPC iterations in a bounded buffer, the method sharply accelerates solving MIQP formulations of mixed-logical dynamical systems, achieving real-time frequencies (often >1000 Hz) in simulation. The authors derive theoretical bounds on the dual gap resulting from shifted/stretch mode sequences and Lipschitz cost variations, providing suboptimality guarantees for the first BMP solve. Empirically, the approach delivers substantial speedups across cart-pole, free-flying obstacle navigation, and humanoid-wall contact tasks, with a data-efficient cut-transfer strategy requiring only tens to hundreds of cuts rather than thousands of offline samples.
Abstract
Hybrid model predictive control with both continuous and discrete variables is widely applicable to robotic control tasks, especially those involving contacts with the environment. Due to combinatorial complexity, the solving speed of hybrid MPC can be insufficient for real-time applications. In this paper, we propose a hybrid MPC algorithm based on Generalized Benders Decomposition. The algorithm enumerates and stores cutting planes online inside a finite buffer and transfers them across MPC iterations to provide warm-starts for new problem instances, significantly enhancing solving speed. We theoretically analyze this warm-starting performance by modeling the deviation of mode sequences through temporal shifting and stretching, deriving bounds on the dual gap between transferred optimality cuts and the true optimal costs, and utilizing these bounds to quantify the level of suboptimality guaranteed in the first solve of the Benders Master Problem. Our algorithm is validated in simulation through controlling a cart-pole system with soft contact walls, a free-flying robot navigating around obstacles, and a humanoid robot standing on one leg while pushing against walls with its hands for balance. For our benchmark problems, the algorithm enumerates cuts on the order of only tens to hundreds while reaching speeds 2-3 times faster than the off-the-shelf solver Gurobi, oftentimes exceeding 1000 Hz. The code is available at https://github.com/XuanLin/Benders-MPC.
