RoSSO: A High-Performance Python Package for Robotic Surveillance Strategy Optimization Using JAX
Yohan John, Connor Hughes, Gilberto Diaz-Garcia, Jason R. Marden, Francesco Bullo
TL;DR
RoSSO addresses the challenge of designing effective randomized patrol routes on graphs by enabling tractable Markov-chain optimization with diverse metrics. The authors implement a JAX-enabled Python package that supports MHT, RTE, and Stackelberg-formulated patrol strategies, along with a greedy co-optimization for defense placement and a multi-robot SG extension. Key contributions include a gradient-based MC optimizer, a novel greedy defense-allocation method, and scalable multi-robot formulations validated on a San Francisco district graph, all within a modular framework. The work demonstrates improved computational efficiency and practical patrol designs that balance movement speed, unpredictability, and defense constraints, with potential for GPU/TPU deployment and RL integration.
Abstract
To enable the computation of effective randomized patrol routes for single- or multi-robot teams, we present RoSSO, a Python package designed for solving Markov chain optimization problems. We exploit machine-learning techniques such as reverse-mode automatic differentiation and constraint parametrization to achieve superior efficiency compared to general-purpose nonlinear programming solvers. Additionally, we supplement a game-theoretic stochastic surveillance formulation in the literature with a novel greedy algorithm and multi-robot extension. We close with numerical results for a police district in downtown San Francisco that demonstrate RoSSO's capabilities on our new formulations and the prior work.
