Mixed Integer Programming for Time-Optimal Multi-Robot Coverage Path Planning with Efficient Heuristics

Jingtao Tang, Hang Ma
6/30/2023
cs.ROcs.AI

No official code found. Best implementation: reso1/MIP_MCPP (37 stars, GPL-3.0, last commit 2025-12-11).

Abstract

We investigate time-optimal Multi-Robot Coverage Path Planning (MCPP) for both unweighted and weighted terrains, which aims to minimize the coverage time, defined as the maximum travel time of all robots. Specifically, we focus on a reduction from MCPP to Min-Max Rooted Tree Cover (MMRTC). For the first time, we propose a Mixed Integer Programming (MIP) model to optimally solve MMRTC, resulting in an MCPP solution with a coverage time that is provably at most four times the optimal. Moreover, we propose two suboptimal yet effective heuristics that reduce the number of variables in the MIP model, thus improving its efficiency for large-scale MCPP instances. We show that both heuristics result in reduced-size MIP models that remain complete (i.e., guaranteed to find a solution if one exists) for all MMRTC instances. Additionally, we explore the use of model optimization warm-startup to further improve the efficiency of both the original MIP model and the reduced-size MIP models. We validate the effectiveness of our MIP-based MCPP planner through experiments that compare it with two state-of-the-art MCPP planners on various instances, demonstrating a reduction in the coverage time by an average of 27.65% and 23.24% over them, respectively.

View on arXivView PDF

Code Implementations(1)

reso1/MIP_MCPPCommunity100%
GPL-3.0

code with the RA-L'23 paper - "Mixed Integer Programming for Time-Optimal Multi-Robot Coverage Path Planning with Heuristics"

377PythonJul 3, 202310 months agoGPL-3.0

Similar Papers

Cite this paper

@article{tang2023mixed,
  title  = {Mixed Integer Programming for Time-Optimal Multi-Robot Coverage Path Planning with Efficient Heuristics},
  author = {Jingtao Tang and Hang Ma},
  year   = {2023},
  eprint = {2306.17609},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2306.17609v2}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2306.17609.svg)](https://codeofpaper.com/paper/2306.17609)

Discussion