Table of Contents
Fetching ...

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.

Accelerating Hybrid Model Predictive Control using Warm-Started Generalized Benders Decomposition

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.
Paper Structure (17 sections, 3 theorems, 32 equations, 4 figures, 2 tables, 3 algorithms)

This paper contains 17 sections, 3 theorems, 32 equations, 4 figures, 2 tables, 3 algorithms.

Key Result

Lemma 4.1

Consider a stored binary sequence $\boldsymbol{\delta}_j^* \in \{0,1\}^{Nn_\delta}$ with at most $K$ mode transitions over the planning horizon $N$. Let $\boldsymbol{\delta}^*$ be a version of $\boldsymbol{\delta}_j^*$ that is temporally shifted by at most $s$ time steps and temporally stretched by

Figures (4)

  • Figure 1: Cart-pole with soft walls simulated for $200$$ms$. (A1) solving speed comparison among proposed GBD, GBD without warm-start, and Gurobi, with N=10. x-axis: simulation time in ms, y-axis: solving speed in Hz. (A2) Cost of proposed GBD and Gurobi. (A3) The number of GBD iterations. (A4) The number of cuts stored during the solving procedure. Blue curves: proposed GBD. Green curves: Gurobi. Orange curve: GBD without warm-start. Black curve: feasibility cuts, red curve: optimality cuts. (B1) Histogram result for this experiment with different $\boldsymbol{\Theta}$. x-axis: the number of GBD iterations. y axis: the count of problem instances. (B2) Same histogram result for Branch and Bound with warm-start marcucci2020warm. (C1) The best upper bound of the dual gap among all stored optimality cuts computed from Corollary \ref{['cor:dual_gap']} (red curve) and global optimal cost (blue curve) at each MPC iteration, for $N=15$. (C2) The number of stored cuts for (C1) at each MPC iteration.
  • Figure 2: Solving speed, number of stored cuts, and number of GBD iterations for cart-pole with contact experiment. Left: N=10. Right: N=15. (A1), (B1) show the solving speed of GBD (blue curve) compared against Gurobi (green curve) in Hz. (A2), (B2) show the number of stored feasibility cuts (black curve) and optimality cuts (red curve). (A3), (B3) show the number of GBD iterations.
  • Figure 3: Results for free-flying robots navigating around 3, 6, and 9 obstacles. Sub-figure (A1), (B1), (C1) show examples of planned trajectories. The initial position is shown by green dot, target position by red star, current position by red triangle, planned trajectory in a black dashed line, and obstacles by blue squares. Sub-figure (A3)-(A5), (B3)-(B5), (C3)-(C5) show solving speed, number of GBD iterations, and number of stored cuts, corresponding to (A1), (B1), (C1). Sub-figure (A2), (B2), (C2) show histograms for the number of GBD iterations generated by Monte Carlo experiments.
  • Figure 4: Humanoid balancing with wall contacts. (A1) Simplified inverted pendulum model with bilateral walls for MPC planning. (A2) Full humanoid robot with bilateral walls in Gazebo simulation. (B1-B3) Consecutive snapshots of disturbance recovery: the robot leans right, pushes off the wall to generate restoring moment, and returns to balance. The blue dot in (B2) shows the contact point and the green lines indicate the contact forces. (C1) Admittance force tracking performance (top) and robot lean angle trajectory (bottom) for a successful push-back recovery, where the measured forces (blue curve) track the planned forces (green curve) from the simplified model. (C2) A comparison case using pure position control for the arm, where the robot fails to generate the necessary push-off force and remains stuck leaning against the wall.

Theorems & Definitions (5)

  • Definition 1
  • Lemma 4.1: Bound on Binary Sequence Differences
  • Corollary 4.2
  • Definition 2: $\alpha$-Suboptimality
  • Corollary 4.3: $\alpha$-Suboptimality at First BMP Solve