We develop a Python package called RSOME for modeling a wide spectrum of robust and distributionally robust optimization problems. RSOME serves as a modeling platform for formulating various optimization problems subject to distributional ambiguity in a highly readable and mathematically intuitive manner. Compared with the MATLAB version, RSOME in Python is more versatile and well fits in the open-source software community, in the sense that (i) it is consistent with NumPy arrays in indexing and slicing, as well as array operations; (ii) together with the rich Python libraries for machine learning, data analysis and visualization, it is easier to implement data-driven models; and (iii) it provides convenient interfaces for users to switch and tune parameters among different solvers. We highlight these features through several application examples. RSOME is freely distributed on GitHub for academic use, and detailed user guide as well as more application examples are provided on our official website.
NUS Business School working paper