The way how the uncertainties are represented by sets plays a vital role in the performance of robust optimization (RO). This paper presents a novel approach leveraging machine learning (ML) techniques to construct data-driven uncertainty sets from historical uncertainty data for RO problems. The proposed method integrates Density-Based Spatial Clustering of Applications with Noise (DBSCAN), Gaussian Mixture Model (GMM), and Principle Component Analysis (PCA) systematically to eliminate the influence of uncertainty scenarios with low occurrence probability and generate a nonconvex uncertainty set that is a union of multiple basic subsets (box or ellipsoid) without sacrificing its computational tractability. In addition to presenting a comprehensive algorithm for uncertainty set development, this paper offers detailed guidelines for parameter tuning and performance analysis. By harnessing the well-established ML packages scikit-learn, a Python-based toolkit for implementing the proposed approach is also provided. Furthermore, a computationally efficient solution for a two-stage linear RO problem with the proposed data-driven uncertainty set is derived, alongside establishing a probabilistic guarantee of constraint satisfaction for out-of-sample uncertainties. Extensive numerical experiments, conducted on both synthetic and real-world datasets as well as an optimization-based control problem, are performed to demonstrate the efficacy of the proposed methodology.
Read full abstract