  This paper introduces ROmodel, an open source Python package extending the
modeling capabilities of the algebraic modeling language Pyomo to robust
optimization problems. ROmodel helps practitioners transition from
deterministic to robust optimization through modeling objects which allow
formulating robust models in close analogy to their mathematical formulation.
ROmodel contains a library of commonly used uncertainty sets which can be
generated using their matrix representations, but it also allows users to
define custom uncertainty sets using Pyomo constraints. ROmodel supports
adjustable variables via linear decision rules. The resulting models can be
solved using ROmodels solvers which implement both the robust reformulation and
cutting plane approach. ROmodel is a platform to implement and compare custom
uncertainty sets and reformulations. We demonstrate ROmodel's capabilities by
applying it to six case studies. We implement custom uncertainty sets based on
(warped) Gaussian processes to show how ROmodel can integrate data-driven
models with optimization.
