  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.
