Close
About
FAQ
Home
Collections
Login
USC Login
Register
0
Selected
Invert selection
Deselect all
Deselect all
Click here to refresh results
Click here to refresh results
USC
/
Digital Library
/
University of Southern California Dissertations and Theses
/
Robust optimization under exogenous and endogenous uncertainty: methodology, software, and applications
(USC Thesis Other)
Robust optimization under exogenous and endogenous uncertainty: methodology, software, and applications
PDF
Download
Share
Open document
Flip pages
Contact Us
Contact Us
Copy asset link
Request this asset
Transcript (if available)
Content
Robust Optimization under Exogenous and Endogenous Uncertainty: Methodology, Software, and Applications by Qing Jin A Dissertation Presented to the FACULTY OF THE GRADUATE SCHOOL UNIVERSITY OF SOUTHERN CALIFORNIA In Partial Fulfillment of the Requirements for the Degree DOCTOR OF PHILOSOPHY (INDUSTRIAL AND SYSTEMS ENGINEERING) May 2025 Copyright 2025 Qing Jin To my family ii Acknowledgments I want to express my deepest gratitude to my advisor, Dr. Phebe Vayanos, for her constant support and guidance throughout my Ph.D. journey. Thank you, Phebe, for your dedication to my professional and personal growth. I am deeply grateful for your mentorship, for being an exceptional role model, for shaping my character, and for guiding me to discover my path. I could not have achieved any of this without your unwavering help. This thesis is a result of close collaboration with many outstanding faculty members, researchers, and experts within and beyond USC. I want to extend special thanks to Dr. Angelos Georghiou for his support and guidance over the years. Angelos, you have played a significant role in my growth and improvement. It has been a true pleasure to work with and learn from you. I am also profoundly grateful to Dr. Grani A. Hanasusanto, Christopher Doehring, and Dr. Hugh Robinson for the opportunity to collaborate with them. Additionally, I thank my committee members, Dr. John Carlsson and Dr. Bistra Dilkina, for their invaluable feedback and support in preparing my dissertation. Over the past five and a half years, I have had the privilege of meeting and working with many incredible people at USC. I want to thank Sina Agahaei, Junyang Cai, Roxanna Carter, Weizhe Chen, Ryan Edmonds, Saeed Haghi, Caroline Johnston, Nathan Justin, Shelly Lewis, Haoming Li, Grace Owh, Aida Rahmattalabi, Qingshi Sun, Bill Tang, Hailey Winetrobe, and Han Yu. It has been truly amazing to know you all. I am also fortunate to have many wonderful friends who stood by my side and supported me through challenging times. In particular, I would like to thank Peng Dai, Jiyang He, Tianjin Huang, and Yingxiao Ye for all the good times we shared. My gratitude also extends to Wei Gu, Ziyu He, Jingwei Ji, Jing Jin, Weizhi Lin, Ke Shen, Mingxi Wang, Yue Yu, Di Zhang, and Suyanpeng Zhang. Life as an international student has not been easy—thank you for being there to share the highs and lows. iii I am also deeply thankful to my childhood friends, Delong Li, Yiyi Ma, and Tianyue Zhou, for being with me for so long and offering constant companionship. Most importantly, I would like to thank my parents, grandparents, and other family members. Thank you for your unconditional support, belief, and love, from which I gained the power to explore and enjoy the world. Funding I gratefully acknowledge support from the National Science Foundation Operations Engineering: Preserving Biodiversity via Robust Optimization (No. 1763108) and National Science Foundation Smart & Connected Communities: Landslide Risk Management in Remote Communities: Integrating Geoscience, Data Science, and Social Science in Local Context (No. 1831770). iv Table of Contents Dedication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ii Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii List of Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix List of Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv Chapter 1: Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1 Background and Motivations . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Robust Optimization and Distributionally Robust Optimization . . . . . . . 2 1.3 Overview of Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Chapter 2: ROC ++: Robust Optimization in C ++ . . . . . . . . . . . . . . . . . . . . . . 7 2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.1.2 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.1.3 Related Literature . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.1.4 Organization of the Paper & Notation . . . . . . . . . . . . . . . . . 18 2.2 ROC ++ Software Design and Design Rationale . . . . . . . . . . . . . . . . . 18 2.2.1 Classes Involved in the Modeling of Optimization Problems . . . . . . 19 2.2.2 Dynamic Behavior via Strategy Pattern . . . . . . . . . . . . . . . . . 22 2.2.3 Solver Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.2.4 Tools to Facilitate Extension . . . . . . . . . . . . . . . . . . . . . . . 24 2.2.5 Interpretable Problem Input through Operator Overload . . . . . . . 24 2.3 Modelling and Solving Decision-Making Problems in ROC ++ . . . . . . . . . 25 2.3.1 Robust Pandora’s Box: Problem Description . . . . . . . . . . . . . . 25 2.3.2 Robust Pandora’s Box: Model in ROC ++ . . . . . . . . . . . . . . . . 26 2.3.3 Robust Pandora’s Box: Solution in ROC ++ . . . . . . . . . . . . . . 30 2.4 Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 2.4.1 ROB File Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 2.4.2 Integer Decision Variables . . . . . . . . . . . . . . . . . . . . . . . . 33 v 2.4.3 Stochastic Programming Capability . . . . . . . . . . . . . . . . . . . 33 2.4.4 Limited Memory Decision Rules . . . . . . . . . . . . . . . . . . . . . 33 2.4.5 The ROPy Python Interface . . . . . . . . . . . . . . . . . . . . . . . 33 2.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Chapter 3: Distributionally Robust Optimization with Decision-Dependent Information Discovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 3.1.1 Background & Motivation . . . . . . . . . . . . . . . . . . . . . . . . 37 3.1.2 Literature Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 3.1.3 Proposed Approach & Contributions . . . . . . . . . . . . . . . . . . 40 3.1.4 Organization of the Paper and Notations . . . . . . . . . . . . . . . . 42 3.2 DRO with Decision-Dependent Information Discovery . . . . . . . . . . . . . 42 3.2.1 Decision Rule Formulation . . . . . . . . . . . . . . . . . . . . . . . . 43 3.2.2 An Equivalent min-max-min-max Reformulation . . . . . . . . . . . . 45 3.3 K-Adaptability Counterpart . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 3.4 Decomposition Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 3.4.1 L-shaped Algorithm to Optimize w . . . . . . . . . . . . . . . . . . 50 3.4.2 Branch-and-Cut Algorithm to Evaluate Φ(w) . . . . . . . . . . . . . 53 3.4.3 Improved L-shaped Algorithm . . . . . . . . . . . . . . . . . . . . . . 59 3.5 Numerical Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 3.5.1 Distributionally Robust Best Box problem . . . . . . . . . . . . . . . 63 3.5.2 Distributionally Robust R&D Project Portfolio Optimization . . . . . 67 Chapter 4: Robust Optimization for Preserving Biodiversity . . . . . . . . . . . . . . . 72 4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 4.1.1 Background and Motivation . . . . . . . . . . . . . . . . . . . . . . . 73 4.1.2 Literature Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 4.1.3 Proposed Approach and Contributions . . . . . . . . . . . . . . . . . 76 4.1.4 Organization of the Paper and Notation . . . . . . . . . . . . . . . . 76 4.2 Multi-Stage Robust Optimization for Conservation Planning . . . . . . . . . 77 4.2.1 The model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 4.2.2 Conservative Reformulation . . . . . . . . . . . . . . . . . . . . . . . 80 4.2.3 The Rolling Horizon Algorithm . . . . . . . . . . . . . . . . . . . . . 81 4.3 Solving the Single-Stage Problem . . . . . . . . . . . . . . . . . . . . . . . . 82 4.3.1 The Constraint Generation Algorithm . . . . . . . . . . . . . . . . . 83 4.3.2 A Lower Bound Problem . . . . . . . . . . . . . . . . . . . . . . . . . 85 4.3.3 An Improved Cut Generation Algorithm . . . . . . . . . . . . . . . . 86 4.3.4 An Approximation Solution . . . . . . . . . . . . . . . . . . . . . . . 88 4.4 Case Study: Biodiversity Conservation in Latin America . . . . . . . . . . . 89 4.4.1 Data Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 4.4.2 Uncertainty Set Calibration . . . . . . . . . . . . . . . . . . . . . . . 91 4.5 Numerical Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 vi 4.5.1 Computational Results of the Single-Stage Problem . . . . . . . . . . 93 4.5.2 Performance of the Robust Optimization Model . . . . . . . . . . . . 95 Chapter 5: Conclusion and Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 Appendix A: Supplemental Material of Chapter 2 . . . . . . . . . . . . . . . . . 122 A.1 Decision Rule & Finite Adaptability Approximations . . . . . . . . . . . . . 122 A.1.1 Interpretable Decision Rules . . . . . . . . . . . . . . . . . . . . . . . 122 A.1.2 Contingency Planning via Finite Adaptability . . . . . . . . . . . . . 124 A.2 Companion to Section 2.3: Additional Examples . . . . . . . . . . . . . . . . 125 A.2.1 Retailer-Supplier Flexible Commitment Contracts (RSFC) . . . . . . 125 A.2.2 Stochastic Best Box Problem with Uncertain Observation Costs . . . 133 A.3 Supplemental Material: Retailer-Supplier Problem . . . . . . . . . . . . . . . 138 A.3.1 Retailer-Supplier Problem: Mathematical Formulation . . . . . . . . 138 A.3.2 Retailer-Supplier Problem: Full ROC ++ Code . . . . . . . . . . . . . 139 A.3.3 Retailer-Supplier Problem: Instance Parameters . . . . . . . . . . . . 141 A.4 Supplemental Material: Robust Pandora’s Box Problem . . . . . . . . . . . . 142 A.4.1 Robust Pandora’s Box Problem: Mathematical Formulation . . . . . 142 A.4.2 Robust Pandora’s Box Problem: Full ROC ++ Code . . . . . . . . . . 142 A.4.3 Robust Pandora’s Box Problem: Instance Parameters . . . . . . . . . 144 A.5 Supplemental Material: Stochastic Best Box Problem . . . . . . . . . . . . . 146 A.5.1 Stochastic Best Box: Problem Formulation . . . . . . . . . . . . . . . 146 A.5.2 Stochastic Best Box Problem: Full ROC ++ Code . . . . . . . . . . . 147 A.5.3 Stochastic Best Box: Instance Parameters . . . . . . . . . . . . . . . 149 Appendix B: Omitted Proofs in Chapter 3 . . . . . . . . . . . . . . . . . . . . . 150 B.1 Proof of Theorem 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 B.2 Proof of Theorem 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 B.3 Proof of Theorem 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 B.4 Proof of Proposition 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 B.5 Proofs of Omitted Theorems in Section 3.4.2 . . . . . . . . . . . . . . . . . . 161 B.6 Proof of Theorem 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 B.7 Proof of Theorem 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 Appendix C: Supplemental Numerical Results of Chapter 3 . . . . . . . . . . 168 C.1 Supplementary Numerical Results to Section 3.5.1.2 . . . . . . . . . . . . . . 168 C.1.1 Supplementary Runtime Results . . . . . . . . . . . . . . . . . . . . . 168 C.1.2 Out of Sample Performance . . . . . . . . . . . . . . . . . . . . . . . 169 C.2 Supplementary Numerical Results for Section 3.5.2.2 . . . . . . . . . . . . . 171 vii C.2.1 Supplementary Runtime Results . . . . . . . . . . . . . . . . . . . . . 171 C.2.2 Out of Sample Performance . . . . . . . . . . . . . . . . . . . . . . . 173 C.3 Distributionally Robust R&D Project Portfolio Optimization with Loans . . 174 C.3.1 Problem Description . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 C.3.2 Computational Results . . . . . . . . . . . . . . . . . . . . . . . . . . 176 Appendix D: Omitted Proofs in Chapter 4 . . . . . . . . . . . . . . . . . . . . . 182 D.1 Proof of Theorem 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 D.2 Proof of Theorem 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 D.3 Proof of Theorem 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 viii List of Tables 2.1 Summary of tools for modelling, reformulating, and solving robust optimization problems. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.2 List of model parameters and their associated C ++ variables for the PB problem. 27 2.3 List of model variables and uncertainties and their associated C ++ variables for the PB problem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.1 Summary of computational results for the best box problem. Each entry corresponds to: the average objective value improvement of the best K-adaptability solution found in the time limit over the best static solution found in the time limit; the improvement is calculated as the ratio of the difference between the objective values of the K-adaptability solution and the static solution to the objective value of the static solution / the average solution time of the solved instances/ the average optimality gap across unsolved cases. . . . . . . . . . 66 3.2 Suboptimality of the RO solutions to the best box problem. Each cell represents an average of 20 instances. In each instance, the relative differences are calculated by (z ⋆ DRO − z ⋆ RO) (z ⋆ DRO + z ⋆ RO)/2 . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 3.3 Summary of computational results of the R&D problem. Decomposition and Decomposition with Added Cuts refer to Algorithm 1 without and with the cuts introduced in Section 3.4.3, respectively. Opt(#) corresponds to the number of instances solved to optimality, Time(s) to the average computational time (in seconds) for instances solved to optimality, and Gap to the average optimality gap for the instances not solved within the time limit. We write ’-’ when no valid lower bound was found. Better(#) denotes the number of instances in each method that achieved a better objective value than the other method. Improvement denotes the average improvement in the objective value of the K-adaptability solution found in the time limit over the static solution found in the time limit. The improvement is calculated as the ratio of the difference between the objective values of the K-adaptability solution and the static solution to the objective value of the static solution. . 70 ix 3.4 Suboptimality of RO solution to the R&D problem. Each cell represents an average of 20 instances. In each instance, the relative differences are calculated by (z ∗ DRO − z ∗ RO) (z ∗ DRO + z ∗ RO)/2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 4.1 Summary of computational results. Opt(#) corresponds to the number of instances solved to optimality, Gap to the average optimality gap of the instances not solved to optimality, and Time(s) to the average computational time (in seconds) of the instances solved to optimality. Node Explored(#) denotes the average number of separation problem solved or cuts added to the master problem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 4.2 Computational time of using the constraint generation algorithm 5 and solving the approximation problem (4.16). In each column, Time(s) corresponds to the average computational time (in seconds) of all instances. . . . . . . . . . 104 4.3 Gap between the solutions given by solving the problem exactly using Algorithm 5 and solving the approximation problem (4.16). Gap denotes the average gap across all instances. . . . . . . . . . . . . . . . . . . . . . . . . . 104 A.1 List of model parameters and their associated C ++ variables for the RSFC problem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 A.2 List of model variables and uncertainties and their associated ROC ++ variables for the RSFC problem. . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 A.3 List of model parameters and their associated C ++ variables for the BB problem. The parameters T(t) and I(i) are as in Table 2.2 and we thus omit them here. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 A.4 List of model variables and uncertainties and their associated C ++ variables for the BB problem. The variables zi,t, i ∈ I, t ∈ T , are as in Table 2.3 and we thus omit them here. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 A.5 Parameters for the instance of the RSFS problem that we solve in Section A.2.1.3.141 A.6 Parameters for the instance of the PB problem that we solve in Section 2.3.3. 145 A.7 Parameters for the instance of the BB problem that we solve in Section A.2.2.3.149 x C.1 Supplementary computational results of the best box problem. Decomposition and Decomposition with Added Cuts refer to Algorithm 1 using the Branch-and-Cut Algorithm 3 to evaluate Φ(w), without and with the cuts introduced in Section 3.4.3, respectively. Decomposition with Algorithm 2 and Cuts refers to Algorithm 1 using the Branch-and-Bound Algorithm 2 with the cuts introduced in Section 3.4.3. Opt(#) corresponds to the number of instances solved to optimality, Time(s) to the average computational time (in seconds) for instances solved to optimality, and Gap to the average optimality gap for the instances not solved within the time limit. Better(#) denotes the number of instances in each method that achieved a better objective value than the other method. Improvement denotes the average improvement in the objective value of the K-adaptability solution found in the time limit over the static solution found in the time limit. The improvement is calculated as the ratio of the difference between the objective values of the K-adaptability solution and the static solution to the objective value of the static solution. . 170 C.2 The relative difference between the median, the 95% and 99% quantiles of the expected objective values in the 200 simulated distributions given by the RO and DRO solutions to the Best Box problem. Each cell represents an average of 20 instances. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 C.3 Computational results of Algorithm 1 using the Branch-and-Bound Algorithm 2 with the cuts introduced in Section 3.4.3 for R&D problem. Opt(#) corresponds to the number of instances solved to optimality, Time(s) to the average computational time (in seconds) for instances solved to optimality, and Gap to the average optimality gap for the instances not solved within the time limit. Better(#) denotes the number of instances in each method that achieved a better objective value than the other method. Improvement denotes the average improvement in the objective value of the K-adaptability solution found in the time limit over the static solution found in the time limit. The improvement is calculated as the ratio of the difference between the objective values of the K-adaptability solution and the static solution to the objective value of the static solution. . . . . . . . . . . . . . . . . . . . . 173 C.4 The relative difference between the median, the 95% and 99% quantiles of the expected objective values in the 200 simulated distributions given by the RO and DRO solutions to the R&D problem. Each cell represents an average of 20 instances. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 xi C.5 Summary of computational results of the R&D problem with loans. Decomposition and Decomposition with Added Cuts refer to Algorithm 1 without and with the cuts introduced in Section 3.4.3, respectively. Opt(#) corresponds to the number of instances solved to optimality, Time(s) to the average computational time (in seconds) for instances solved to optimality, and Gap to the average optimality gap for the instances not solved within the time limit. We write ’-’ when no valid lower bound was found. Better(#) denotes the number of instances in each method that achieved a better objective value than the other method. Improvement denotes the average improvement in the objective value of the K-adaptability solution found in the time limit over the static solution found in the time limit. The improvement is calculated as the ratio of the difference between the objective values of the K-adaptability solution and the static solution to the objective value of the static solution. . 177 C.6 Computational results of Algorithm 1 using the Branch-and-Bound Algorithm 2 with the cuts introduced in Section 3.4.3 for R&D problem with loans. Opt(#) corresponds to the number of instances solved to optimality, Time(s) to the average computational time (in seconds) for instances solved to optimality, and Gap to the average optimality gap for the instances not solved within the time limit. Better(#) denotes the number of instances in each method that achieved a better objective value than the other method. Improvement denotes the average improvement in the objective value of the K-adaptability solution found in the time limit over the static solution found in the time limit. The improvement is calculated as the ratio of the difference between the objective values of the K-adaptability solution and the static solution to the objective value of the static solution. . . . . . . . . . . . . . . . . . . . . 179 C.7 Suboptimality of RO solution to the R&D problem with loans. Each cell represents an average of 20 instances. In each instance, the relative differences are calculated by (z ∗ DRO − z ∗ RO) (z ∗ DRO + z ∗ RO)/2 . . . . . . . . . . . . . . . . . . . . . . . . . 180 C.8 The relative difference between the median, the 95% and 99% quantiles of the expected objective values in the 200 simulated distributions given by the RO and DRO solutions to the R&D problem with loans. Each cell represents an average of 20 instances. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 xii List of Figures 2.1 Classes of robust problems and methods that can be handled by ROC ++. . . 14 2.2 Classes of stochastic problems and methods that can be handled by ROC ++. Support is currently limited to uniformly distributed uncertain parameters. . 14 2.3 Inheritance diagram for the ROCPPVarIF class. . . . . . . . . . . . . . . . . 19 2.4 Inheritance diagram for the ROCPPOptModelIF class. . . . . . . . . . . . . . . 21 3.1 Overview of our proposed decomposition Algorithm 1 . . . . . . . . . . . . . 50 3.2 Diagram of Algorithm 3 for solving problem (IPw) . . . . . . . . . . . . . . 59 4.1 Jaguar Population, Cost of Parcels, and Risk . . . . . . . . . . . . . . . . . . 90 4.2 Performance of the robust approach compared to its benchmarks under different λs for both expected risk and unexpected risk. In this experiment, we consider T = 10, b = 3%C and ρ = 0.05. . . . . . . . . . . . . . . . . . . . . 97 4.3 Performance of the robust approach compared to its benchmarks. In the left figure, we vary the stages and set b = 3%C, λ = 0.7, ρ = 0.05. In the middle figure, we vary the budgets and set t = 10, λ = 0.7, ρ = 0.05. In the right figure, we vary ρs and set b = 3%C, t = 10, λ = 0.7. . . . . . . . . . . . . . . 98 4.4 Average protection proportion. Here we consider t = 10, b = 3%C, ρ = 0.05. . 100 4.5 Connectivity of the protected parcels. In this experiment, we consider the setting where b = 3%C, ρ = 0.05 . . . . . . . . . . . . . . . . . . . . . . . . . 101 4.6 Trade-off between the jaguar loss and compactness.In this experiment, we consider the setting where t = 10, b = 3%C, ρ = 0.05 . . . . . . . . . . . . . 102 xiii Abstract Over the past two decades, robust optimization has become a popular approach for decisionmaking under uncertainty. It addresses both single- and multi-stage problems involving realvalued or binary decisions and exogenous (decision-independent) or endogenous (decisiondependent) uncertainties. However, problems with endogenous uncertainty, such as R&D project portfolio optimization, remain under-explored. This thesis focuses on developing methodology, algorithms, and software for robust optimization under exogenous and endogenous uncertainty. In the first part, we introduce an open-source C ++ based platform for robust optimization that handles single- and multi-stage problems with exogenous and endogenous uncertainties. The platform integrates with deterministic optimization tools, supports certain stochastic programs, offers a Python interface, and uses the ROB file format for robust problem storage and sharing. In the second part, we propose a framework for two-stage distributionally robust optimization (DRO) with decision-dependent information discovery (DDID), where uncertain parameters are revealed through first-stage investments. We develop a conservative approximation and a decomposition algorithm to solve this problem, which is the first approach in the literature capable of modeling and solving distributionally robust optimization problems with decision-dependent information discovery. In the third part, we address a conservation planning problem aimed at minimizing biodiversity loss due to human development, formulated as a multi-stage robust optimization problem. By decomposing the problem into single-stage problems, we develop exact and approximate solution methods. A case study in Latin America demonstrates the effectiveness of our approach, showcasing its potential for real-world biodiversity conservation. xiv Chapter 1 Introduction 1.1 Background and Motivations Uncertain parameters may correspond to prediction errors, measurement errors, or implementation errors, see e.g., [1]. Prediction errors arise when some of the data elements have not yet materialized at the time of decision-making and must thus be predicted/estimated (e.g., future prices of stocks, future demand, or future weather). Measurement errors arise when some of the data elements (e.g., characteristics of raw materials) cannot be precisely measured (due to e.g., limitations of the technological devices available). Implementation errors arise when some of the decisions may not be implemented exactly as planned/recommended by the optimization (due to e.g., physical constraints). If all decisions must be made before the uncertain parameters are revealed, the decisionmaking problem is referred to as static or single-stage. In contrast, if the uncertain parameters are revealed sequentially over time and decisions are allowed to adapt to the history of observations, the decision-making problem is referred to as adaptive or multi-stage. In sequential decision-making problems, the realization and timing of the revelation of uncertain parameters may either be independent of the decisions and known a-priori or influenced by the decisions and part of the decision space. Uncertain parameters whose realization and time of being independent of the decision-maker’s actions are referred to as 1 exogenous. Uncertain parameters whose realization or time of revelation can be controlled by the decision-maker are referred to as endogenous. Examples of decision-making problems involving exogenous uncertain parameters are: financial portfolio optimization (see e.g., [2]), inventory and supply-chain management (see e.g., [3]), vehicle routing ([4]), unit commitment (see e.g., [5]), and option pricing (see e.g., [6]). Examples of decision-making problems involving endogenous uncertain parameters are: R&D project portfolio optimization (see e.g., [7]), clinical trial planning (see e.g., [8]), offshore oilfield exploration (see e.g., [9]), and facility location (see e.g., [10]). 1.2 Robust Optimization and Distributionally Robust Optimization Whether the decision-making problem is affected by exogenous and/or endogenous uncertain parameters, it is well known that ignoring uncertainty altogether when deciding on the actions to take usually results in suboptimal or even infeasible actions. To this end, researchers in robust and distributionally optimization have devised optimization-based models and solution approaches that explicitly capture the uncertain nature of these parameters. These frameworks model decisions as functions of the history of observations, capturing the adaptive and non-anticipative nature of the decision-making process. Robust optimization assumes that the uncertain parameters belong in a so-called uncertainty set. The decision-maker then seeks to be immunized against all possible realizations of the uncertain parameters in this set. The robust optimization paradigm gained significant traction starting in the late 1990s and early 2000s following the works of [11, 12, 13, 14], and [15, 16, 17], among others. Over the last two decades, research on robust optimization has burgeoned, fueled by the limited assumptions it needs about the uncertain parameters to yield meaningful solutions, by its attractive robustness and scalability properties, and by ease of modelling, see e.g., [18, 19]. Robust optimization techniques have been used success2 fully to address single-stage problems in inventory management ([20]), network optimization ([15]), product pricing ([21, 22]), portfolio optimization ([23, 24]), and healthcare ([25, 26, 27]). They have also been used to successfully tackle sequential problems in energy ([28, 29]), inventory and supply-chain management ([30, 31]), network optimization ([32]), preference elicitation ([33]), vehicle routing ([34]), process scheduling ([35]), and R&D project portfolio optimization ([36]). Distributionally robust optimization assumes that the decision-maker possesses some, but not exact, distributional information (e.g., mean and variance). All the distributions compatible with the available distributional knowledge are contained in a so-all ambiguity set. The decision-maker then optimizes for a safe action that performs best under the most adverse distribution in this set (see, e.g., [37, 38, 39, 40]). Distributionally optimization techniques have been successfully to address both single-stage and multi-stage problems (see e.g., [41, 42, 43, 44]) with applications in portfolio optimization ([45, 46]), network optimization ([47]), process scheduling ([48]), and facility location ([49, 10]), among others. We refer the reader to [50] and [51] for in-depth reviews of the field of distributionally robust optimization. Several gaps exist in the study of two- or multi-stage optimization problems with endogenous uncertainty. In the robust optimization community, multi-stage robust optimization problems are generally intractable, leading to a focus on developing conservative approximations. However, few solutions currently enable both the modeling and resolution of such problems, posing a significant barrier to their practical implementation. Research has predominantly addressed problems with exogenous uncertainty or decision-dependent ambiguity sets in the distributionally robust optimization community. To the best of our knowledge, no existing distributionally robust optimization framework incorporates decision-dependent information discovery. This thesis aims to address these gaps, leverages the modeling power of multi-stage optimization with endogenous uncertainty, and presents a model and solution approach for biodiversity conservation planning. 3 1.3 Overview of Contributions In this thesis, we develop solution schemes for decision-making problems under uncertainty, focusing on problems involving endogenous uncertainty. We investigate a broad class of robust and distributionally robust optimization problems and construct software and algorithms to facilitate the modeling and solution of such problems. We leverage the modeling power of these problems to showcase the effectiveness of the proposed approaches in various applications, including inventory control, R&D portfolio management, and biodiversity conservation planning. Aside from this chapter and the conclusions and future works presented in Chapter 5, the remainder of the thesis is organized into three chapters, with their contributions summarized as follows. In Chapter 2, we introduce ROC ++, a C ++ based platform for modeling, automatically reformulating, and solving robust optimization problems (see [52]). ROC ++ is the first platform capable of addressing both single- and multi-stage problems involving exogenous and/or endogenous uncertain parameters, as well as real- and/or binary-valued adaptive variables. It can also handle specific classes of stochastic programs with continuously distributed uncertainties. Additionally, we provide a Python library, ROPy, which incorporates all the core functionalities of ROC ++. Through our design choices, ROC ++ adheres to the SOLID principles of object-oriented programming, ensuring maintainability and extensibility. This makes both ROC ++ and ROPy user-friendly and versatile. Leveraging the power of C ++, particularly polymorphism, ROC ++ supports dynamic behavior, allowing users to select reformulation strategies at runtime and easily extend the code with additional methods. We demonstrate the flexibility and usability of our platform through several stylized examples. Furthermore, we propose the ROB file format, the first format designed for storing and sharing general robust optimization problems. This format is interpretable, user-friendly, and accompanied by detailed documentation to facilitate adoption and expansion. Our framework is open-source, with the latest version of the code, installation instructions, and 4 dependencies available at https://sites.google.com/usc.edu/robust-opt-cpp/. Our platform establishes a foundation for advancing research and real-world applications in robust optimization by offering these capabilities. The contents of this chapter are published in 1. P. Vayanos, Q. Jin, and G. Elissaios. “ROC++: Robust optimization in C++.” INFORMS Journal on Computing 34.6 (2022): 2873-2888. Although previous work in the literature has studied robust optimization problems with decision-dependent information discovery, despite its various applications, this setting has not been addressed in the distributionally robust optimization community, where the decisionmaker has access to some distributional information about the random parameters. We fill this gap in Chapter 3, where we study two-stage distributionally robust optimization problems with decision-dependent information discovery and propose a novel adaptive formulation incorporating decision-dependent non-anticipativity constraints. To address these challenges, we reformulate the problem as a two-and-a-half stage (min-max-min-max) robust optimization model and develop a K-adaptability approximation to balance computational complexity and solution quality. This approach leads to bilinear optimization problems, which we solve for moderately sized instances using off-the-shelf solvers. We propose a decomposition algorithm for larger instances that exactly solves the problem. The scheme iteratively solves a main problem with only the measurement variables and adds optimality, feasibility, and Benders-like cuts generated by an evaluation problem. We develop a provably convergent branch-and-cut algorithm to evaluate the objective with fixed measurement variables. We showcase the benefits of injecting the distributional information and the computational efficiency of the proposed algorithm. The contents of this chapter are under major revision at Mathematical Programming. 2. Q. Jin, A. Georghiou, P. Vayanos, and G. A. Hanasusanto. ”Distributionally Robust Optimization with Decision-Dependent Information Discovery.” Under major revision at Mathematical Programming (2025). 5 In Chapter 4, we consider a biodiversity conservation planning problem, where the conservation planner aims to protect land from development driven by uncertain human behavior. Unprotected parcels of land face the risk of development and loss of biodiversity value. We model the problem as a multi-stage robust optimization with a decision-dependent uncertainty set and propose solving it using a rolling horizon approach to decompose the multistage decision-dependent robust optimization problem into single-stage problems. We design a provably convergent constraint generation algorithm to solve it and then develop a tighter master problem that significantly improves the solution quality. We also examine a heuristic approach for solving the single-stage problem and the proposed algorithm. To showcase the effectiveness of the proposed model, we collaborate with Panthera, a non-profit organization devoted to the conservation of wild cat species, and perform a case study of biodiversity conservation in Latin America. The numerical results on real data demonstrate competitive performance compared to the benchmarks. The contents of this chapter are under preparation for submission to European Journal of Operational Research. 3. Q. Jin, Y. Ye, C. Doehring, A. Georghiou, H. Robinson, P. Vayanos. “Robust Optimization for Preserving Biodiversity.” In preparation for submission to European Journal of Operational Research (2025). 6 Chapter 2 ROC ++: Robust Optimization in C ++ Abstract Over the last two decades, robust optimization has emerged as a popular means to address decision-making problems affected by uncertainty. This includes single- and multistage problems involving real-valued and/or binary decisions, and affected by exogenous (decision-independent) and/or endogenous (decision-dependent) uncertain parameters. Robust optimization techniques rely on duality theory potentially augmented with approximations to transform a (semi-)infinite optimization problem to a finite program, the robust counterpart. While writing down the model for a robust optimization problem is usually a simple task, obtaining the robust counterpart requires expertise. To date, very few solutions are available that can facilitate the modeling and solution of such problems. This has been a major impediment to their being put to practical use. In this paper, we propose ROC ++, an open source C ++ based platform for automatic robust optimization, applicable to a wide array of single- and multi-stage robust problems with both exogenous and endogenous uncertain parameters, that is easy to both use and extend. It also applies to certain classes of stochastic programs involving continuously distributed uncertain parameters and endogenous uncertainty. Our platform naturally extends existing off-the-shelf deterministic optimization platforms and offers ROPy, a Python interface in the form of a callable 7 library, and the ROB file format for storing and sharing robust problems. We showcase the modeling power of ROC ++ on several decision-making problems of practical interest. Our platform can help streamline the modeling and solution of stochastic and robust optimization problems for both researchers and practitioners. It comes with detailed documentation to facilitate its use and expansion. The latest version of ROC ++ can be downloaded from https://sites.google.com/usc.edu/robust-opt-cpp/. Notation. We denote vectors (matrices) by boldface lowercase (uppercase) letters. The kth element of a vector x ∈ R n (k ≤ n) is denoted by xk. Scalars are denoted by letters, e.g., α or N. We let L n k (B n k ) represent the space of all functions from R k to R n ({0, 1} n ). Given two vectors of equal length, x, y ∈ R n , we let x ◦ y denote their Hadamard product. 2.1 Introduction 2.1.1 Motivation Robust optimization (RO) is a discipline that develops models and algorithms for solving decision problems affected by uncertainty, see e.g. [53, 18]. It studies problems with worstcase objective and robust constraints that must hold for all possible realizations of the uncertain problem parameters. The simplest problems studied by RO are single-stage problems, where all decisions are made before the uncertain parameters are revealed, and involve only exogenous uncertainty. These arise in e.g., inventory management [20], healthcare [26], and biodiversity conservation [54]. Single-stage robust problems with exogenous uncertainty are representable as minimize max ξ∈Ξ c(ξ) ⊤y + d(ξ) ⊤z : y ∈ Y, z ∈ Z, A(ξ)y + B(ξ)z ≤ h(ξ) ∀ξ ∈ Ξ , (2.1) where y ∈ Y ⊆ R n and z ∈ Z ⊆ {0, 1} ℓ stand for the vectors of real- and binary-valued 8 (static) decisions, respectively, that must be made before the uncertain parameters ξ ∈ R k are observed. The set Ξ ⊆ R k denotes the uncertainty set, which represents the set of all realizations of ξ against which the decision-maker wishes to be immunized. Here, c(ξ) ∈ R n and d(ξ) ∈ R ℓ can be interpreted as cost vectors, while h(ξ) ∈ R m, and A(ξ) ∈ R m×n and B(ξ) ∈ R m×ℓ represent the right-hand-side vector and constraint coefficient matrices, respectively. It is usually assumed, without much loss of generality, that c(ξ), d(ξ), A(ξ), B(ξ), and h(ξ) are all linear in ξ. The goal of the decision-maker is to select, among all decisions that are robustly feasible, one that achieves the smallest value of the cost, in the worst-case. The uncertainty set usually admits a conic representation, being expressible as Ξ := n ξ ∈ R k : ∃ζ s ∈ R ks , s = 1, . . . , S : P s ξ + Qs ζ s + q s ∈ Ks , s = 1, . . . , So (2.2) for some matrices P s ∈ R rs×k and Qs ∈ R rs×ks , and vector q s ∈ R rs where Ks are closed convex pointed cones in R rs , s = 1 . . . , S. This model includes as special cases budget uncertainty sets [53], uncertainty sets based on the central limit theorem [55], and ellipsoidal uncertainty sets [53]. Under some mild assumptions, the semi-infinite problem (2.1) is equivalent to a finite program, the robust counterpart (RC), that can be solved with off-the-shelf solvers. This robust counterpart can be obtained by reformulating each semi-infinite constraint in (2.1) equivalently as a finite set of constraints using duality theory. Although the data in the RC is the same as that in problem (2.1), the RC will typically not resemble at all the original problem and converting one to the other is a tedious task. A slight generalization to problem (2.1) where Ξ is allowed to depend on decision variables can model single-stage problems with endogenous uncertainty, see [56, 57]. These arise in e.g., radiation therapy [58] and certain classes of clinical trial planning problems [57]. Their RC is a finite optimization problem involving products of binary and real-valued variables. If Ξ depends only on binary variables, these products can be linearized to yield a mixed-binary 9 conic program that can be solved with off-the-shelf solvers. In that sense, obtaining the RC of such problems is more involved than obtaining the RC of (2.1). The RO community has also extensively studied multi-stage problems with exogenous uncertainty where uncertain parameters are revealed sequentially over time and decisions are allowed to adapt to the history of observations [14]. These arise in e.g., vehicle routing [34], energy [59, 29], and inventory management [30, 31]. A multi-stage robust optimization problem with exogenous uncertainty over the finite planning horizon t ∈ T := {1, . . . , T} is representable as minimize max ξ∈Ξ " X t∈T c ⊤ t yt(ξ) + dt(ξ)zt(ξ) # subject to yt ∈ Lnt k , zt ∈ Bℓt k ∀t ∈ T X t τ=1 Atτyτ (ξ) + Btτ (ξ)zτ (ξ) ≤ ht(ξ) ∀ξ ∈ Ξ, t ∈ T yt(ξ) = yt(ξ ′ ), zt(ξ) = zt(ξ ′ ) ∀t ∈ T , ∀ξ, ξ ′ ∈ Ξ : wt−1 ◦ ξ = wt−1 ◦ ξ ′ , (2.3) where yt(ξ) ∈ R nt and zt(ξ) ∈ {0, 1} ℓt represent the vectors of real- and binary-valued decisions for time t, respectively. The adaptive nature of the decisions is modelled mathematically by allowing them to depend on the observed realization of ξ ∈ R k . The vectors ct ∈ R nt and dt(ξ) ∈ R ℓt can be interpreted as cost vectors, ht(ξ) ∈ R mt are the right-handside vectors, and Atτ ∈ R mt×nt and Btτ (ξ) ∈ R mt×ℓt are the constraint coefficient matrices. Without much loss, we assume that dt(ξ), ht(ξ), and Btτ (ξ) are all linear in ξ. The binary vector wt ∈ {0, 1} k represents the information base for time t + 1, i.e., it encodes the information revealed up to time t. Specifically, wt,i = 1 if and only if ξi is observed at some time τ ∈ {0, . . . , t}, and w0 = 0. As information is never forgotten, wt ≥ wt−1 for all t ∈ T . The last set of constraints in (2.3) enforces non-anticipativity, stipulating that yt and zt must be constant in parameters that have not been observed by time t. Problems of the form (2.3) are generally intractable and much of the research in the RO community has focused on devising conservative approximations. Most authors have 10 studied problems involving only real-valued adaptive decisions and devised decision rule approximations that restrict the adjustable decisions to those presenting e.g., constant, linear [14], piecewise linear [60, 61], or polynomial [62, 63, 64] dependence on ξ. We user the shorthands CDR and LDR for constant and linear decision rules, respectively. Under such approximations, problem (2.3) reduces to a single-stage problem and approaches from single-stage RO can be used to solve it. More recently, several authors have investigated problems involving binary adaptive decision variables. Some papers have proposed piecewise constant decision rule approximations over either a static [60] or adaptive [65, 66, 67] partitions of the uncertainty set. Others have studied the more flexible finite adaptability approximation that consists in selecting a moderate number of candidate strategies today and implementing the best of those strategies in an adaptive fashion once the uncertain parameters are revealed [68, 69, 36]. While writing down the model for a multi-stage problem is usually a simple task (akin to formulating a deterministic problem), obtaining the RC of a conservative approximation to (2.3) is typically tedious and requires expertise in robust optimization. Recently, there has been increased interest in multi-stage robust optimization problems involving endogenous uncertainty [70]. This includes problems with decision-dependent uncertainty sets, where the decision-maker can control the set of possible realizations of ξ, and problems involving decision-dependent non-anticipativity constraints, where the decisionmaker can control the time of information discovery. The latter are particularly relevant in practice where oftentimes uncertain parameters only become observable after a costly investment. It has applications in R&D project selection [7], clinical trial planning [8], offshore oilfield exploration [9], and preference elicitation [36, 33], among others. Multi-stage problems with endogenous uncertainty set are simple variants of (2.3) where Ξ is allowed to depend on adaptive decision variables. These have been studied by [71] who proposed piecewise constant and piecewise linear decision rule approximations over both preselected and adaptive partitions of the uncertainty set and showed that the resulting 11 problem can be reformulated as a mixed-integer coning program. Multi-stage robust optimization problems with endogenous information discovery constitute a variant to problem (2.3) where the information base for each time t ∈ T is kept flexible and under the control of the decision-maker. Thus, the information base is modeled as an adaptive decision variable that is itself allowed to depend on ξ and we denote it by wt(ξ) ∈ Wt ⊆ {0, 1} k . Multi-stage robust optimization problems with endogenous information discovery (ID) are expressible as min max ξ∈Ξ " X t∈T c ⊤ t yt(ξ) + dt(ξ)zt(ξ) + ft(ξ)wt(ξ) # s.t. yt ∈ Lnt k , zt ∈ Bℓt k , wt ∈ Bk k ∀t ∈ T X t τ=1 Atτyτ (ξ) + Btτ (ξ)zτ (ξ) + Ctτ (ξ)wτ (ξ) ≤ ht(ξ) wt(ξ) ∈ Wt wt(ξ) ≥ wt−1(ξ) ∀ξ ∈ Ξ, t ∈ T yt(ξ) = yt(ξ ′ ), zt(ξ) = zt(ξ ′ ) wt(ξ) = wt(ξ ′ ) ∀t ∈ T , ∀ξ, ξ ′ ∈ Ξ : wt−1(ξ) ◦ ξ = wt−1(ξ ′ ) ◦ ξ ′ , (2.4) where ft,i(ξ) ∈ R can be interpreted as the cost of including the uncertain parameter ξi in the information base at time t and Ctτ (ξ) collects the coefficients of wτ in the time t constraint. The third constraint ensures that information observed in the past cannot be forgotten while the last set of constraints are decision-dependent non-anticipativity constraints that model the requirement that decisions can only depend on information that the decision-maker chose to observe in the past. Without much loss, we assume that dt(ξ), ft(ξ), Btτ (ξ) ∈ R mt×ℓτ , and Ctτ (ξ) ∈ R mt×k are all linear in ξ. To tackle problems of the form (2.4) decision rule and finite adaptability approximations have been proposed. [60] studied piecewise constant (PWC) and piecewise linear (PWL) decision rule approximations to the real- and binary-valued decisions, respectively. Accordingly, [36] generalized the finite adaptability approximation to this setting. In both cases, 12 the authors reformulated the problem as a mixed-integer linear problem that can be solved in practical times with off-the-shelf solvers. Although effective these approaches are quite difficult to implement as they rely on approximations, on the introduction of new decision variables, and on duality theory, making them inaccessible to practitioners and difficult for researchers to implement. Robust optimization techniques have been extended to address certain multi-stage stochastic programs involving continuously distributed uncertain parameters and affected by exogenous [72, 73] and even endogenous [60] uncertainty. In recent years, the field of distributionally robust optimization (DRO) has burgeoned, which immunizes decision-makers against ambiguity in the distribution of ξ [40, 74]. Similarly to RO, deterministic reformulations of DRO problems can be obtain based on duality theory. In spite of RO’s success at addressing diverse problems and the difficulty of implementing these solutions, few platforms are available and they provide only limited functionality. 2.1.2 Contributions We now summarize our main contributions and the key advantages of our platform: (a) We propose ROC ++, a C ++ based platform for modelling, automatically reformulating, and solving robust optimization problems, see [52]. Our platform is the first capable of addressing both single- and multi-stage problems involving exogenous and/or endogenous uncertain parameters and real- and/or binary-valued adaptive variables. It can also be used to address certain classes of stochastic programs involving continuously distributed uncertainties. The suite of models and methods currently available in ROC ++ are summarized in Figures 2.1 and 2.2 for the robust and stochastic setting, respectively. ROC ++ can also interface with a variety of solvers. Presently, ROC ++ offers an interface to Gurobi1 and SCIP.2 (b) ROC ++ provides a Python library, ROPy, that features all the main functionality. 13 Robust Problem in ROC ++ Multi-Stage Endogenous ID [36] – K-adaptability [60] – PWC/PWL Endogenous Ξ [36] – K-adaptability [71] – PWC/PWL Exogenous Ξ [36] – K-adaptability (T-stage) [69] – K-adaptability (2-stage) [60] – PWC/PWL [14] – CDR/LDR Single-Stage Endogenous Ξ [57] [56] Exogenous Ξ [53] Figure 2.1: Classes of robust problems and methods that can be handled by ROC ++. Stochastic Problem in ROC ++ Multi-Stage Endogenous ID [60] – CDR/LDR, PWC/PWL Exogenous ξ [60] – PWC/PWL [72] – LDR Single-Stage Exogenous ξ [53] Figure 2.2: Classes of stochastic problems and methods that can be handled by ROC ++. Support is currently limited to uniformly distributed uncertain parameters. 14 (c) Thanks to operator overloading, ROC ++ and ROPy are both very easy to use. We illustrate the flexibility and ease of use of our platform on several stylized problems. (d) Through our design choices in ROC ++, we aim to align with the SOLID principles of object oriented programming to facilitate maintainability and extendability [75]. ROC ++ leverages the power of C ++ and in particular of polymorphism to code dynamic behavior, allowing the user to select their reformulation strategy at runtime and making it easy to extend the code with additional methods. (e) We propose the ROB file format, the first file format for storing and sharing general robust optimization problems, that is also interpretable and easy to use. (f) Our platform comes with detailed documentation (created with Doxygen3 ) to facilitate its use and expansion. Our framework is open-source. The latest version of the code, installation instructions, and dependencies of ROC ++ are available at https://sites. google.com/usc.edu/robust-opt-cpp/. A snapshot of the software and data that were used in the research reported in this paper can be found at the software’s DOI [52]. Through these capabilities, our platform lays the foundation to help facilitate research in, and real-life applications of, robust optimization. 2.1.3 Related Literature Our robust optimization platform ROC ++ most closely relates to several tools released in recent years for modelling and solving robust optimization problems. All of these tools present a similar structure: they provide a modeling platform combined with an approximation/reformulation toolkit that can automatically obtain the robust counterpart, which is then solved using existing open-source and/or commercial solvers. The platform that most closely relates to ROC ++ is called ROC4 and is based on the paper of [76]. It can be used to solve single-/multi-stage (distributionally) robust optimization problems with real-valued 15 adaptive variables. It tackles this class of problems by approximating the adaptive decisions by linear decision rules or enhanced linear decision rules and solves the resulting problem using CPLEX.5 Contrary to our platform, it cannot solve problems with endogenous uncertainty, nor with binary adaptive variables. It appears to be harder to extend since the problems that it can model are a lot more limited (e.g., no decisions in the uncertainty set, no decision-dependent information discovery, no binary adaptive variables) and since it does not provide a general framework for building new approximations/reformulations. Moreover, it does not provide a Python interface. The majority of the remaining platforms are based on the MATLAB modeling language. One tool is the robust optimization module of YALMIP [77] which provides support for single-stage problems with exogenous uncertainty. A notable advantage of YALMIP is that the robust counterpart output by the platform can be solved using any one of a variety of open-source or commercial solvers. Other platforms, like ROME6 and RSOME7 are entirely motivated by the (stochastic) robust optimization modeling paradigm, see [78] and [79], and provide support for both single- and multi-stage (distributionally) robust optimization problems affected by exogenous uncertain parameters and involving only real-valued adaptive variables. The robust counterparts output by ROME can be solved with CPLEX, Mosek,8 and SDPT3;9 those output by RSOME, with CPLEX, Gurobi, and Mosek. We note that RSOME is not open source. Recently, JuMPeR10 has been proposed as an add-on to JuMP, see [80]. It can be used to model and solve single-stage problems with exogenous uncertain parameters. JuMPeR can be connected to a large variety of open-source and commercial solvers. On the commercial front, AIMMS11 is currently equipped with an add-on that can be used to model and automatically reformulate robust optimization problems. It can tackle both single- and multi-stage problems with exogenous uncertainty. To the best of our knowledge, none of the available platforms can address (neither model nor solve) problems involving endogenous uncertain parameters (decisiondependent uncertainty sets nor decision-dependent information discovery). None of them can tackle (neither model nor solve) problems presenting binary adaptive variables. A sum16 Table 2.1: Summary of tools for modelling, reformulating, and solving robust optimization problems. Software Multi-stage support Approximation schemes Endogenous uncertainty Binary adaptive variables DRO Language Solvers JuMPeR No - No No No Julia Clp,12 Cbc,13 GLPK,14 Gurobi, Mosek, CPLEX YALMIP add-on No - No No No MATLAB Almost any open source or commercial solver AIMMS add-on (commercial) Yes LDR No No No AIMMS CPLEX recommended ROME Yes LDR, bi-deflected LDR No No Yes MATLAB CPLEX, Mosek, SDPT3 RSOME (not open source) Yes LDR, event-wise static event-wise affine No No Yes MATLAB CPLEX, Gurobi, Mosek ROC Yes LDR, enhanced LDR No No Yes C ++ CPLEX ROC ++ Yes CDR/LDR, PWC/PWL, K-adaptability Yes Yes No C ++ Python Gurobi, SCIP mary of the functionality offered by these tools is provided on Table 2.1. ROC ++ also relates, albeit more loosely, to platforms for modeling and solving stochastic programming problems [81] such as PySP,15 MSPP [82], SDDP16 [83], and SMI.17 To the best of our knowledge, all such platforms assume that the uncertain parameters are discretely distributed or provide mechanisms for building a scenario tree approximation to the problem. This differs from our approach as we work with the true distribution but approximate the adaptive decisions. In our work, we propose an entirely new platform for modeling and solving a wide array of RO problems that is also easy to extend with new models and new approximation and reformulation techniques as they are proposed in the literature. The main motivation for doing so is that new models and solution techniques are constantly being devised while existing tools offer limited capability and were not built with extensibility in mind. Moreover, as there is a tight coupling between problem class and solution method in robust optimiza17 tion, see Section 2.1.1, a strong abstraction is needed over the different problem types and reformulations/approximations to enable extensibility. ROC ++ provides a framework built with the needs of extensibility and usability in mind from the onset and accounting for the coupling between problem class and solution method that is characteristic of RO. We chose to build the platform in C ++ to: a) leverage the benefits of object oriented programming, including inheritance and polymorphism, to build strong class abstractions; b) take advantage of its competitive speed at runtime to be able to more effectively tackle large scale problems; and, c) to have the flexibility to compile libraries for other languages, as showcased by our ROPy interface. These factors combined were the main drivers behind this decision. 2.1.4 Organization of the Paper & Notation Section 2.2 discusses the software design and the design rationale of ROC ++. A sample model created and solved using ROC ++ is provided in Section 2.3. Section 2.4 presents extensions to the core model that can also be tackled by ROC ++, introduces the ROB file format, and briefly highlights the ROPy interface. Finally, Section 2.5 concludes. Additional sample models handled by ROC ++ are provided in the Appendix. 2.2 ROC ++ Software Design and Design Rationale The software design and design rationale of ROC ++ are motivated by the literature which has shown that new problem classes, reformulation strategies, and approximation schemes are constantly being developed. This implies that our code should be easy to maintain and extend and that optimization models and approximation/reformulation schemes should not be restricted to a tight standard form. For these reasons, ROC ++ aims to align with the SOLID principles of object oriented programming which establish practices for developing software with considerations for maintainability and extendability, see [75]. Moreover, because of the tight coupling between problem class and solution method, see Section 2.1, the 18 software needs a strong abstraction over the different problem types and reformulations/approximations. These considerations are the main motivation for the design choices behind ROC ++. We now describe the software design while highlighting how some of our choices help serve these considerations. 2.2.1 Classes Involved in the Modeling of Optimization Problems The main building blocks to model optimization problems in the ROC ++ platform are the optimization model interface class, ROCPPOptModelIF, the constraint interface class, ROCPPConstraintIF, the decision variable interface class, ROCPPVarIF, the objective function interface class, ROCPPObjectiveIF, their derived classes, and the uncertain parameter class, ROCPPUnc. These classes mainly act as containers to which several reformulations, approximations, and solvers can be applied as appropriate, see Sections 2.2.2, 2.2.3, and 2.2.4. Inheritance in the aforementioned classes implements the “is a” relationship. In particular, in our design choices for these classes, we subscribe to the Open-Close Principle (OCP) of SOLID, as we encapsulate abstract concepts in base classes so that additional functionality can be added by subclassing without changing the previously written code. We now give a more detailed description of some of these classes and how they relate to one another. ROCPPVarIF ROCPPAdaptVarIF ROCPPAdaptVarInt ROCPPAdaptVarBool ROCPPAdaptVarDouble ROCPPStaticVarIF ROCPPStaticVarInt ROCPPStaticVarBool ROCPPStaticVarDouble Figure 2.3: Inheritance diagram for the ROCPPVarIF class. The ROCPPVarIF class is an abstract base class that provides a common interface to all decision variable types. Its class diagram is provided in Figure 2.3. Its children are the 19 abstract classes, ROCPPStaticVarIF and ROCPPAdaptVarIF, that model static and adaptive variables, respectively. Each of these present three children, each of which model static (resp. adaptive) real-valued, binary, or integer variables, see Figure 2.3. This structure of the ROCPPVarIF class ensures that we can pass objects of a subtype (e.g., ROCPPStaticVarReal) whenever an object of a supertype (e.g., ROCPPVarIF) is specified. This implies that a decision variable declaration will always have the type of the interface, ROCPPVarIF, and that the class realizing the details will be referenced only once, when it is instanciated. In particular, our modules will only depend on the abstraction. Thus, optimization problems for example store ROCPPVarIF types and are indifferent as to the precise type of the decision variable. This idea aligns with the Liskov Substitution Principle (LSP) and with the Dependency Inversion Principle (DIP) of SOLID. The ROCPPConstraintIF class is an abstract base class with a single child: the interface class ROCPPClassicConstraint whose two children, ROCPPEqConstraint and ROCPPIneqConstraint, model equality and inequality constraints, respectively. We are currently working to add ROCPPSOSConstraint and ROCPPIfThenConstraint as derived classes to ROCPPConstraintIF, to model Special Ordered Set and logical forcing constraints, respectively. Through the interface definition, all constraint types are forced to provide certain functionality. For example, they must implement the mapVars function which maps the decision variables in the constraint to an expression; these are use in the reformulations/approximations. Constraints can either be main problem constraints or define the uncertainty set and may involve decision variables and/or uncertain parameters. The ROCPPObjectiveFunctionIF abstract base class presents two children, ROCPPSimpleObjective and ROCPPMaxObjective that model linear and piecewise linear convex objective functions, respectively. The key building block for the ROCPPConstraintIF and ROCPPObjectiveFunctionIF classes is the ROCPPExpr class that models an expression, which is a sum of terms of abstract base type ROCPPCstrTermIF. The ROCPPCstrTermIF class has two children: ROCPPProdTerm, which are used to model monomials, and ROCPPNorm, which are used to model the two-norm of 20 an expression. These class structures align with LSP and DIP. In particular, a constraint declaration will always have the type of the interface, ROCPPConstraintIF, and optimization problems will store ROCPPConstraintIF types while allowing any of the subtypes (e.g., ROCPPIneqConstraint), being indifferent as to the type of the constraint. Similarly, expressions will store arbitrary constraint terms without concern for their specific types. ROCPPOptModelIF ROCPPUncOptModel ROCPPUncMSOptModel ROCPPOptModelDDID ROCPPOptModelExoID ROCPPUncSSOptModel ROCPPDetOptModel ROCPPBilinMISOCP ROCPPMISOCP Figure 2.4: Inheritance diagram for the ROCPPOptModelIF class. The ROCPPOptModelIF is an abstract base class that provides a common and standardized interface to all optimization problem types. It consists of decision variables, constraints, an objective function, and potentially uncertain parameters. Its class diagram is shown in Figure 2.4. ROCPPOptModelIF presents two derived classes, ROCPPDetOptModel and ROCPPUncOptModel, which are used to model deterministic optimization models and optimization models involving uncertain parameters, respectively. While ROCPPDetOptModel can involve arbitrary deterministic constraints, its derived classes, ROCPPMISOCP and ROCPPBilinMISOCP, can only model mixed-integer second order cone problems (MISOCP) and MISOCPs that also involve bilinear terms. The ROCPPUncOptModel class presents two derived classes, ROCPPUncSSOptModel and ROCPPUncMSOptModel, that are used to model single- and multi-stage problems respectively. Finally, ROCPPUncMSOptModel has two derived classes, ROCPPOptModelExoID and ROCPPOptModelDDID, that can model multi-stage optimization problems where the time of information discovery is exogenous and endogenous, respectively. Thus, in accordance with OCP, we encapsulate abstract concepts such as constraint containers in base classes and add more functionality on the subclasses. As usual, the interface classes list a set 21 of tools that all derived classes must provide. For example, all optimization problem types are forced to implement the checkCompatibility function that checks if the constraint being added is compatible with this problem type. The main role of inheritance here is to ensure that the problems constructed are of types to which the available tools (reformulators, approximators, or solvers) can apply. Naturally, if the platform is augmented with more such tools that enable the solution of different/more general optimization problems, the existing inheritance structure can be leveraged to easily extend the code. 2.2.2 Dynamic Behavior via Strategy Pattern 2.2.2.0.1 Reformulation Strategies. The central objective of our platform is to convert (potentially through approximations) the original uncertain problem input by the user to a form that it can be fed into and solved by an off-the-shelf solver. This is achieved in our code through the use of reformulation strategies applied sequentially to the input problem. Currently, our platform provides a suite of such strategies, all of which are derived from the abstract base class ReformulationStrategyIF. The main approximation strategies are: the linear and constant decision rule approximations, provided by the classes ROCPPLinearDR and ROCPPConstantDR, respectively; the piecewise decision rule approximation, provided by the ROCPPPWDR class; and the K-adaptability approximation, provided by the ROCPPKAdapt class. The main equivalent reformulation strategies are: the ROCPPRobustifyEngine, which can convert a single-stage robust problem to its deterministic counterpart; and the ROCPPMItoMB class, which can linearize bilinear terms involving products of binary and real-valued (or other) decisions. In accordance with LSP and DIP, the ReformulationStrategyIF module accepts optimization problems of any type derived from ROCPPOptModelIF. 2.2.2.0.2 Reformulation Orchestrator. In ROC ++, the user can select at runtime which strategies to apply to their input problem and the sequence in which these strategies should be used. This is achieved by using the idea of a strategy pattern, which allows an 22 object to change its behavior based on some unpredictable factor, see e.g., [84]. To implement the strategy pattern, we provide, in addition to the reformulation strategies discussed above, the class ROCPPOrchestrator that will act as the client, being aware of the existence of strategies but not needing to know what each strategy does. At runtime, an optimization problem, the context, is provided to the ROCPPOrchestrator together with a strategy or set of strategies to apply to the context and the orchestrator applies the strategies in sequence, after checking that they can apply to the input problem. 2.2.2.0.3 Using and Extending the Code. Thanks to the idea of the strategy pattern, the code is very easy to use (the user simply needs to provide the input problem and the sequence of reformulation strategies). It is also very easy to extend; a researcher can create more reformulation strategies and leverage the existing client code to apply these strategies at runtime to the input problem. All that needs to be provided by the new reformulation strategy are implementations of the Reformulate, isApplicable, and getName functions which do the reformulation, check that the reformulation can be applied to the problem input, and return the name of the approximation, respectively. Usability and extendability were the key factors that influenced this design choice. 2.2.3 Solver Interface The ROC ++ platform provides an abstract base class, ROCPPSolverInterface, which is used to convert deterministic MISOCPs in ROC ++ format to a format that is recognized and solved by a commercial or open source solver. Currently, there is support for two solvers: Gurobi, through the ROCPPGurobi class, and SCIP, through the ROCPPSCIP class. Gurobi and SCIP (with COIN-OR’s Ipopt18 solver) can solve all problems types output by our platform. Both these classes are children of ROCPPSolverInterface and allow for changing the solver parameters, solving the problem, retrieving an optimal solution, etc. New solvers can conveniently be added by creating children classes to ROCPPSolverInterface and 23 implementing its pure virtual member functions. This aligns with the OCP, LSP, and DIP principles, facilitating both use and expansion. Note that we also considered using interfaces such as the Osi Open Solver Interface19 directly but did not include it as it does not currently provide support for conic optimization problems. 2.2.4 Tools to Facilitate Extension The ROC ++ platform comes with several classes that can be leveraged to construct new reformulation strategies, such as polynomial decision rules, see e.g., [63] and [64], or constraint sampling approximations, see [85]. The key classes that can help construct new approximators and reformulators are the abstract base class ROCPPVariableConverterIF and its abstract derived classes ROCPPOneToOneVarConverterIF and ROCPPOneToExprVarConverterIF, which can map variables in the problem to other variables, and variables to expressions, respectively. For example, one of the derived classes of ROCPPOneToExprVarConverterIF is ROCPPPredefO2EVarConverter, which takes a map from variable to expression as input and maps all variables in the problem to their corresponding expressions in the map. We have used it to implement the linear decision rule by passing a map from adaptive variables to affine functions of uncertain parameters. New decision rule approximations, such as polynomial decision rules, can be added in a similar way. This framework aligns with the OCP principle. 2.2.5 Interpretable Problem Input through Operator Overload ROC ++ leverages operator overloading in C ++ to enable the creation of problem expressions and constraints in a highly interpretable human-readable format. ROCPPExpr, ROCPPCstrTermIF, ROCCPPVarIF, and ROCPPUnc objects can be added or multiplied together to form new ROCPPExpr objects that can be used as left-hand-sides of constraints. The double equality (“==”) or inequality (“<=”) signs can be used to create constraints. This framework effectively generalizes the modeling setup of modern solvers like Gurobi or CPLEX to the 24 uncertain setting, see Section 2.3 for examples. 2.3 Modelling and Solving Decision-Making Problems in ROC ++ In this section, we showcase the ease of use of our platform through a concrete example. Additional examples are provided in Appendix A.2. A snapshot of the software and data that were used to generate these results can be found at the software’s DOI [52]. 2.3.1 Robust Pandora’s Box: Problem Description We consider a robust variant of the celebrated stochastic Pandora Box (PB) problem due to [86]. This problem models selection from a set of unknown, alternative options, when evaluation is costly. There are I boxes indexed in I := {1, . . . , I} that we can choose or not to open over the planning horizon T := {1, . . . , T}. Opening box i ∈ I incurs a cost ci ∈ R+. Each box has an unknown value ξi ∈ R, i ∈ I, which will only be revealed if the box is opened. At the beginning of each time t ∈ T , we can either select a box to open or keep one of the opened boxes, earn its value (discounted by θ t−1 ), and stop the search. We assume that the box values are restricted to lie in the set Ξ := n ξ ∈ R I : ∃ζ ∈ [−1, 1]M, ξi = (1 + Φ ⊤ i ζ/2)ξi ∀i ∈ Io , where ζ ∈ R M represent M risk factors, Φi ∈ R M represent the factor loadings, and ξ ∈ R I collects the nominal box values. In this problem, the box values are endogenous uncertain parameters whose time of revelation can be controlled by the box open decisions. Thus, the information base, encoded by the vector wt(ξ) ∈ {0, 1} I , t ∈ T , is a decision variable. In particular, wt,i(ξ) = 1 if and only if box i ∈ I has been opened on or before time t ∈ T in scenario ξ. We assume 25 that w0(ξ) = 0 so that no box is opened before the beginning of the planning horizon. We denote by zt,i(ξ) ∈ {0, 1} the decision to keep box i ∈ I and stop the search at time t ∈ T . The requirement that at most one box be opened at each time t ∈ T and that no box be opened if we have stopped the search can be captured by the constraint X i∈I (wt,i(ξ) − wt−1,i(ξ)) ≤ 1 − X t τ=1 X i∈I zt,i(ξ) ∀t ∈ T . (2.5) The requirement that only one of the opened boxes can be kept is expressible as zt,i(ξ) ≤ wt−1,i(ξ) ∀t ∈ T , ∀i ∈ I. (2.6) The objective of the PB problem is to select the sequence of boxes to open and the box to keep so as to maximize worst-case net profit. Since the decision to open box i at time t can be expressed as the difference (wt,i − wt−1,i), the objective of the PB problem is max min ξ∈Ξ X t∈T X i∈I θ t−1 ξizt,i(ξ) − ci(wt,i(ξ) − wt−1,i(ξ)). The mathematical model for this problem can be found in Appendix A.4.1. 2.3.2 Robust Pandora’s Box: Model in ROC ++ We present the ROC ++ model for the PB problem. We assume that the data of the problem have been defined in C ++ as summarized in Table 2.2. We discuss how to construct the key elements of the problem here. The full code can be found in Appendix A.4.2. The PB problem is a multi-stage robust optimization problem involving uncertain parameters whose time of revelation is decision-dependent. Such models can be stored in the ROCPPOptModelDDID class which is derived from ROCPPOptModelIF. We note that in ROC ++ all optimization problems are minimization problems. All models are pointers to the interface class ROCPPOptModelIF. Thus, the robust PB problem can be initialized as: 26 Model Parameter C ++ Name C ++ Variable Type C ++ Map Keys θ theta double NA T (t) T (t) uint NA I (i) I (i) uint NA M (m) M (m) uint NA ci , i ∈ I CostOpen map<uint,double> i=1...I ξi , i ∈ I NomVal map<uint,double> i=1...I Φim, i ∈ I, m ∈ M FactorCoeff map<uint,map<uint,double> > i=1...I, m=1...M Table 2.2: List of model parameters and their associated C ++ variables for the PB problem. 1 // Create an empty robust model with T periods for the PB problem 2 ROCPPOptModelIF_Ptr PBModel (new ROCPPOptModelDDID (T , robust ) ) ; Next, we create the ROC ++ variables associated with uncertain parameters and decision variables in the problem. The correspondence between variables is summarized in Table 2.3. Variable C ++ Nm. C ++ Type C ++ Map Keys zt,i, i ∈ I, t ∈ T Keep map<uint,map<uint,ROCPPVarIF Ptr> > 1...T, 1...I wt,i, i ∈ I, t ∈ T MeasVar map<uint,map<uint,ROCPPVarIF Ptr> > 1...T, 1...I ζm, m ∈ M Factor map<uint,ROCPPUnc Ptr> m=1...M ξi , i ∈ I Value map<uint,ROCPPUnc Ptr> i=1...I Table 2.3: List of model variables and uncertainties and their associated C ++ variables for the PB problem. The uncertain parameters of the PB problem are ξ ∈ R I and ζ ∈ R M. We store the ROC ++ variables associated with these in the Value and Factor maps, respectively. Each uncertain parameter is a pointer to an object of type ROCPPUnc. The constructor of the ROCPPUnc class takes two input parameters: the name of the uncertain parameter and the period when that parameter is revealed (first time stage when it is observable). As ξ has a time of revelation that is decision-dependent, we can omit the second parameter when we construct the associated ROC ++ variables. The ROCPPUnc constructor also admits a third (optional) parameter with default value true that indicates if the uncertain parameter is observable. As ζ is an auxiliary uncertain parameter, we set its time period as being, e.g., 1 and indicate through the third parameter in the constructor of ROCPPUnc that this parameter is not observable. 27 3 // Create empty maps to store the uncertain parameters 4 map < uint , ROCPPUnc_Ptr > Value , Factor ; 5 for ( uint i = 1; i <= I ; i ++) 6 // Create the uncertainty associated with box i and add it to Value 7 Value [ i ] = ROCPPUnc_Ptr (new ROCPPUnc (" Value_ "+ to_string ( i ) ) ) ; 8 for ( uint m = 1; m <= M ; m ++) 9 // The risk factors are not observable 10 Factor [ m ]= ROCPPUnc_Ptr (new ROCPPUnc (" Factor_ "+ to_string ( m ) ,1 , false ) ) ; The decision variables of the problem are the measurement variables w and the variables z which decide on the box to keep. We store these in the maps MeasVar and Keep, respectively. In ROC ++, the measurement variables are created automatically for all time periods in the problem by calling the add ddu() function, which is a public member of ROCPPOptModelIF. This function admits four input parameters: an uncertain parameter, the first and last time period when the decision-maker can choose to observe that parameter, and the cost for observing the parameter. In this problem, cost for observing ξi is equal to ci . The measurement variables constructed in this way can be recovered using the getMeasVar() function, which admits as inputs the name of an uncertain parameter and the time period for which we want to recover the measurement variable associated with that uncertain parameter. 11 map < uint , map < uint , ROCPPVarIF_Ptr > > MeasVar ; 12 for ( uint i = 1; i <= I ; i ++) { 13 // Create the measurement variables associated with the value of box i 14 PBModel - > add_ddu ( Value [ i ] , 1 , T , obsCost [ i ]) ; 15 // Get the measurement variables and store them in MeasVar 16 for ( uint t = 1; t <= T ; t ++) 17 MeasVar [ t ][ i ] = PBModel - > getMeasVar ( Value [ i ] - > getName () , t ) ; 18 } The boolean Keep variables can be built in ROC ++ using the constructors of the ROCPPStaticVarBool and ROCPPAdaptVarBool classes for the static and adaptive variables, respectively. The constructor of ROCPPStaticVarBool admits one input parameter: the name of the variable. The constructor of ROCPPAdaptVarBool admits two input parameters: the name of the variable and the time period when the decision is made. 19 map < uint , map < uint , ROCPPVarIF_Ptr > > Keep ; 20 for ( uint t = 1; t <= T ; t ++) { 21 for ( uint i = 1; i <= I ; i ++) { 28 22 if ( t == 1) // In the first period , the Keep variables are static 23 Keep [ t ][ i ] = ROCPPVarIF_Ptr (new ROCPPStaticVarBool (" Keep_ "+ to_string ( t ) +"_"+ to_string ( i ) ) ) ; 24 else // In the other periods , the Keep variables are adaptive 25 Keep [ t ][ i ] = ROCPPVarIF_Ptr (new ROCPPAdaptVarBool (" Keep_ "+ to_string ( t ) +"_"+ to_string ( i ) , t ) ) ; 26 } 27 } Having created the decision variables and uncertain parameters, we turn to adding the constraints to the model. To this end, we use the StoppedSearch expression, which tracks the running sum of the Keep variables, to indicate if at any given point in time, we have already decided to keep one box and stop the search. We also use the NumOpened expression that, at each period, stores the expression for the total number of boxes that we choose to open in that period. Using these expressions, the constraints can be added to the problem using the following code. 28 // Create the constraints and add them to the problem 29 ROCPPExpr_Ptr StoppedSearch ( new ROCPPExpr () ) ; 30 for ( uint t = 1; t <= T ; t ++) { 31 // Create the constraint that at most one box be opened at t ( none if the search has stopped ) 32 ROCPPExpr_Ptr NumOpened (new ROCPPExpr () ) ; 33 // Update the expressions and and the constraint to the problem 34 for ( uint i = 1; i <= I ; i ++) { 35 StoppedSearch = StoppedSearch + Keep [ t ][ i ]; 36 if (t >1) 37 NumOpened = NumOpened + MeasVar [ t ][ i ] - MeasVar [t -1][ i ]; 38 else 39 NumOpened = NumOpened + MeasVar [ t ][ i ]; 40 } 41 PBModel - > add_constraint ( NumOpened <= 1. - StoppedSearch ) ; 42 // Constraint that only one of the open boxes can be kept 43 for ( uint i = 1; i <= I ; i ++) 44 PBModel - > add_constraint ( (t >1) ? ( Keep [ t ][ i ] <= MeasVar [t -1][ i ]) : ( Keep [ t ][ i ] <= 0.) ) ; 45 } Next, we create the uncertainty set and the objective function. 46 // Create the uncertainty set constraints and add them to the problem 47 // Add the upper and lower bounds on the risk factors 48 for ( uint m = 1; m <= M ; m ++) { 49 PBModel - > add_constraint_uncset ( Factor [ m ] >= -1.0) ; 50 PBModel - > add_constraint_uncset ( Factor [ m ] <= 1.0) ; 51 } 29 52 // Add the expressions for the box values in terms of the risk factors 53 for ( uint i = 1; i <= I ; i ++) { 54 ROCPPExpr_Ptr ValueExpr (new ROCPPExpr () ) ; 55 for ( uint m = 1; m <= M ; m ++) 56 ValueExpr = ValueExpr + RiskCoeff [ i ][ m ]* Factor [ m ]; 57 PBModel - > add_constraint_uncset ( Value [ i ] == (1.+0.5* ValueExpr ) * NomVal [ i ] ) ; 58 } 59 // Create the objective function expression 60 ROCPPExpr_Ptr PBObj (new ROCPPExpr () ) ; 61 for ( uint t = 1; t <= T ; t ++) 62 for ( uint i = 1; i <= I ; i ++) 63 PBObj = PBObj + pow ( theta ,t -1) * Value [ i ]* Keep [ t ][ i ]; 64 // Set objective ( multiply by -1 for maximization ) 65 PBModel - > set_objective ( -1.0* PBObj ) ; We emphasize that the observation costs were automatically added to the objective function when we called the add ddu() function. 2.3.3 Robust Pandora’s Box: Solution in ROC ++ The PB problem is a multi-stage robust problem with decision-dependent information discovery, see [60, 36]. ROC ++ offers two options for solving this class of problems: finite adaptability and piecewise constant decision rules, see Section A.1. Here, we illustrate how to solve PB using the finite adaptability approach, see Section A.1.2. Mathematically, the finite adaptability approximation of a problem is a multi-stage robust optimization problem wherein in the first period, a collection of contingency plans z k1,...,kt t ∈ {0, 1} ℓt and w k1,...,kt t ∈ {0, 1} k , kt ∈ {1, . . . , Kt}, t ∈ T for the variables zt(ξ) and wt(ξ) is chosen. Then, at the begin of each period t ∈ T , one of the contingency plans for that period is selected to be implemented, in an adaptive fashion, see Appendix A.1 for more details. We let Kmap store the number of contingency plans Kt per period–the index in the map indicates the time period t and the value it maps to corresponds to the choice of Kt . The process of computing the optimal contingency plans is streamlined in ROC ++. 66 // Construct the reformulation orchestrator 67 ROCPPOrchestrator_Ptr pOrch ( new ROCPPOrchestrator () ) ; 68 // Construct the finite adaptability reformulation strategy with 2 candidate policies in the each time stage 30 69 ROCPPStrategy_Ptr pKadaptStrategy (new ROCPPKAdapt ( Kmap ) ) ; 70 // Construct the robustify engine reformulation strategy 71 ROCPPStrategy_Ptr pRE (new ROCPPRobustifyEngine () ) ; 72 // Construct the linearization strategy based on big M constraints 73 ROCPPStrategy_Ptr pBTR (new ROCPPBTR_bigM () ) ; 74 // Approximate the adaptive decisions using the linear / constant decision rule approximator and robustify 75 vector < ROCPPStrategy_Ptr > strategyVec { pKadaptStrategy , pRE , pBTR }; 76 ROCPPOptModelIF_Ptr PBModelKAadapt = pOrch - > Reformulate ( PBModel , strategyVec ) ; 77 // Construct the solver and solve the problem 78 ROCPPSolver_Ptr pSolver (new ROCPPGurobi ( SolverParams () ) ) ; 79 pSolver - > solve ( PBModelKAdapt ) ; We consider the instance of PB detailed in Appendix A.4.3 for which T = 4, M = 4, and I = 5. For Kt = 1 (resp. Kt = 2 and Kt = 3) for all t ∈ T , the problem takes under half a second (resp. under half a second and 6 seconds) to approximate and robustify. Its objective value is 2.12 (resp. 9.67 and 9.67). Note that with T = 4 and Kt = 2 (resp. Kt = 3), the total number of contingency plans is 8 (resp. 27). Next, we showcase how optimal contingency plans can be retrieved in ROC ++. 80 // Retrieve the optimal solution from the solver 81 map < string ,double > optimalSln ( pSolver - > getSolution () ) ; 82 // Print the optimal decision ( from the original model ) 83 // Print decision rules for variable Keep_4_2 from the original problem automatically 84 ROCPPKAdapt_Ptr pKadapt = static_pointer_cast < ROCPPKAdapt >( pKadaptStrategy ) ; 85 pKadapt - > printOut ( PBModel , optimalSln , Keep [4][2]) ; When executing this code, the values of all variables z k1...kt 2,4 used to approximate z2,4 under all contingency plans (k1, . . . , kt) ∈ ×t τ=1{1, . . . , Kτ} are printed. We show here the subset of the output associated with contingency plans where z2,4(ξ) equals 1 (for the case K = 2). Value of variable Keep_4_2 under contingency plan (1 -2 -2 -1) is : 1 Thus, at time 4, we will keep the second box if and only if the contingency plan we choose is (k1, k2, k3, k4) = (1, 2, 2, 1). We can display the first time that an uncertain parameter is observed using the following ROC ++ code. 86 // Prints the observation decision for uncertain parameter Value_2 87 pKadapt - > printOut ( PBModel , optimalSln , Value [2]) ; 31 When executing this code, the time when ξ2 is observed under each contingency plan (k1, . . . , kT ) ∈ ×τ∈T Kt is printed. In this case, part of the output we get is as follows. Parameter Value_2 under contingency plan (1 -1 -1 -1) is never observed Parameter Value_2 under contingency plan (1 -2 -2 -1) is observed at time 2 Thus, in an optimal solution, ξ2 is opened at time 2 under contingency plan (k1, k2, k3, k4) = (1, 2, 1, 1). On the other hand it is never opened under contingency plan (1, 1, 1, 1). 2.4 Extensions 2.4.1 ROB File Format Given a robust/stochastic optimization problem expressed in ROC ++, our platform can generate a file displaying the problem in human readable format. We show the first few lines from the file obtained by printing the Pandora Box problem of Section 2.3 to illustrate this format, with extension “.rob”. # minimize either expected or worst - case costs , as indicated by E or max Objective : min max -1 Keep_1_1 Value_1 -1 Keep_1_2 Value_2 -1 Keep_1_3 Value_3 ... Constraints : c0 : -1 mValue_2_1 +1 mValue_1_1 <= +0 ... Uncertainty Set : c0 : -1 Factor_1 <= +1 ... # For decision variable , list its name , type , adaptability , time stage , # and associated uncertain parameter if it ’s a measurement variable Decision Variables : Keep_1_1 : Boolean , Static , 1 , Non - Measurement mValue_2_2 : Boolean , Adaptive , 2 , Measurement , Value_2 Bounds : 0 <= Keep_1_1 <= 1 ... # For uncertain parameter , list its name , observability , time stage , # the first and last observable stages if it ’s decision dependent Uncertainties : Factor_4 : Not Observable , 1 , Non - DDU Value_1 : Observable , 1 , DDU , 1 , 4 ... 32 2.4.2 Integer Decision Variables ROC ++ can solve problems involving integer decision variables. In the case of the CDR/PWC approximations, integer adaptive variables are directly approximated by constant/piecewise constant decisions that are integer on each subset of the partition. In the case of the finite adaptability approximation, bounded integer variables must first be expressed as finite sums of binary variables before the approximation is applied. This can be achieved through the reformulation strategy ROCPPBinaryMItoMB. 2.4.3 Stochastic Programming Capability ROC ++ currently provides limited support for solving stochastic programs with exogenous and/or decision-dependent information discovery based on the paper [60]. In particular, the approach from [60] is available for the case where the uncertain parameters are uniformly distributed in a box. We showcase this functionality via an example on a stochastic best box problem in Section A.2.2. 2.4.4 Limited Memory Decision Rules For problems involving long time-horizons (> 100), the LDR/CDR and PWL/PWC decision rules can become computationally expensive. Limited memory decision rules approximate adaptive decisions by linear functions of the recent history of observations. The memory parameter of the ROCPPConstantDR, ROCPPLinearDR, and ROCPPPWDR can be used in ROC ++ to trade-off optimality with computational complexity. 2.4.5 The ROPy Python Interface We use pybind11,20 a lightweight header-only library, to create Python bindings of the C ++ code. With the Python interface we provide, users can generate a Python library called ROPy, which contains all the functions needed for creating decision variables, constraints, 33 and models supported by ROC ++. ROPy also implements the dynamic behavior via strategy pattern. It includes all reformulation strategies of ROC ++ and uses the reformulation orchestrator to apply the strategy sequentially. The concise grammar of Python makes ROPy easy to use. Code extendability is guaranteed by pybind11. Developers may directly extend the library ROPy (by e.g., deriving new classes) in Python without looking into the C ++ code or by rebuilding the library after making changes in C ++. ROPy code to all the examples in our paper can be found in our GitHub repository. 2.5 Conclusion We proposed ROC ++, an open-source platform for automatic robust optimization in C ++ that can be used to solve single- and multi-stage robust optimization problems with binary and/or real-valued variables, with exogenous and/or endogenous uncertainty set, and with exogenous and/or endogenous information discovery. ROC ++ is very easy to use thanks to operator overloading in C ++ that allows users to enter constraints to a ROC ++ model in the same way that they look on paper and thanks to the strategy pattern that allows users to select the reformulation strategy to employ at runtime. ROC ++ is also very easy to extend thanks to extensive use of inheritance throughout and thanks to the numerous hooks that are available (e.g., new reformulation strategies, new solvers). We also provide a Python library to ROC ++, named ROPy. ROPy is easy to extend either directly in Python or in C ++. We believe that ROC ++ can facilitate the use of robust optimization among both researchers and practitioners. Some desirable extensions to ROC ++ that we plan to include in future releases are unit test capability, support for distributionally robust optimization, polynomial decision rules, and constraint sampling. We also hope to generalize the classes of stochastic programming problems that can be addressed by ROC ++ by adding support for problems where the mean and covariance of the uncertain parameters are known. Finally, we are constantly working 34 to improve usability and extendability, following the SOLID principles of object oriented programming. Notes 1See https://www.gurobi.com. 2See https://www.scipopt.org. 3See https://www.doxygen.nl/index.html. 4See https://github.com/g0900971/RobustOptimization. 5See https://www.ibm.com/analytics/cplex-optimizer. 6See https://robustopt.com. 7See https://www.rsomerso.com. 8See https://www.mosek.com. 9See http://www.math.cmu.edu/˜reha/sdpt3.html. 10See https://jumper.readthedocs.io/en/latest/jumper.html. 11See https://www.aimms.com. 12See https://www.coin-or.org/Clp/. 13See https://www.coin-or.org/Cbc/. 14See https://www.gnu.org/software/glpk/. 15See https://pyomo.readthedocs.io/en/stable/modeling_extensions/pysp.html. 16See https://odow.github.io/SDDP.jl/stable/. 17See https://github.com/coin-or/Smi. 18See https://coin-or.github.io/Ipopt/. 19See https://github.com/coin-or/Osi. 20See https://pybind11.readthedocs.io/en/stable/. 35 Chapter 3 Distributionally Robust Optimization with Decision-Dependent Information Discovery Abstract We study two-stage distributionally robust optimization (DRO) problems with decisiondependent information discovery (DDID) wherein (a portion of) the uncertain parameters are revealed only if an (often costly) investment is made at the first stage. This class of problems finds many important applications in selection problems (e.g., in hiring, project portfolio optimization, or optimal sensor location). Despite the problem’s wide applicability, it has not been previously studied. We propose a framework for modeling and approximately solving DRO problems with DDID. We formulate the problem as a min-max-min-max problem and adopt the popular K-adaptability approximation scheme, which chooses K candidate recourse actions here-and-now and implements the best of those actions after the uncertain parameters that were chosen to be observed are revealed. We then present a decomposition algorithm that solves the K-adaptable formulation exactly. In particular, we devise a cutting plane algorithm that iteratively solves a relaxed version of the problem, evaluates the true 36 objective value of the corresponding solution, generates valid cuts, and imposes them on the relaxed problem. For the evaluation problem, we develop a branch-and-cut algorithm that provably converges to an optimal solution. We showcase the effectiveness of our framework on the R&D project portfolio optimization problem and the best box problem. 3.1 Introduction 3.1.1 Background & Motivation Distributionally robust optimization, which optimizes for a safe action that performs best under the most adverse distribution in an ambiguity set of distributions consistent with the known information, is a popular modeling and solution paradigm for decision-making under uncertainty. It can be used to tackle both single-stage (see, e.g., [45], [46], [40], [41], [87], [42]) and multi-stage (see e.g., [39], [43], [88], [44], [10]) problems. In multi-stage problems, uncertain parameters are revealed sequentially over time, and decisions are allowed to adapt to the history of observations. Mathematically, decisions must be modeled as functions of the uncertain parameters that have been revealed by the time the decision is made. To the best of our knowledge, all models and solutions approaches assume that the sequence in which uncertain parameters are revealed is exogenous, i.e., independent of the decision-maker’s actions. However, this assumption fails to hold in many real-world applications where uncertain parameters (information) only become observable following an often costly investment and measurement decisions control the time of information discovery. We now describe some important examples of such problems involving decision-dependent information discovery. R&D Project Portfolio Optimization. Companies often maintain long pipelines of projects that are candidates to be undertaken [89]. The return of each project is uncertain and will only be revealed if the project is completed, which often necessitates substantial resources to be expanded. Thus, the costly decisions to undertake and complete a project are mea37 surement decisions which control the time of information discovery in this problem. Optimal Sensor Placement for Emergency Warning. Emergency warning systems (that issue warnings about, e.g., landslides [90]) rely on information collected from sensors (about, e.g., soil moisture) to make predictions. Sensors are often costly or difficult to install (due to e.g., difficulty in accessing remote locations). The information available to help inform the warning system depends on the location of the sensors. Thus, the costly sensor placement decisions are measurement decisions that control the time of information discovery in this problem. Selection Problems. Selection problems such as those arising in company hiring, loan approval, or bail decisions involve selecting, over time, a subset of available candidates to move to the next stage until a final selection decision is made in the last stage. The personal characteristics (e.g., qualifications, gender, race) of individuals are uncertain and only become observed progressively over time as they get selected into subsequent stages. Accordingly, the outcomes (e.g., job performance, loan repayment, recidivism) are also uncertain and only become observed for individuals who make it into the final stage. Thus, the candidate selection decisions are measurement decisions that control the time of information discovery in this problem. In most real-world situations, the precise distribution of the uncertain parameters in such problems is unknown (e.g., the joint distribution of project returns in R&D, joint distribution of soil characteristics at different remote locations, joint distribution of job candidates’ characteristics, and corresponding job performance). Yet, basic characteristics of this joint distribution, such as first-order moments, may be available (e.g., through past project performance, current weather conditions, and past worker performance data). In our work, we propose to leverage such information in distributionally robust optimization problems with decision-dependent information discovery where such moment information is added explicitly as constraints in the ambiguity set. 38 3.1.2 Literature Review Our work most closely relates to the literature on optimization under decision-dependent information discovery, to distributionally robust optimization with decision-dependent uncertainty sets, and to the works on the K-adaptability approximation to (distributionally) robust optimization. We review all of these in turn. Decision-making problems under decision-dependent information discovery have mostly been studied in the stochastic programming literature. The majority of works assume the distribution of the uncertain parameters is discrete or require the distribution to be discretized before they can be applied, see [91, 92, 93, 94, 95, 96]. [97] investigate a problem with continuous uncertain parameters and propose a conservative solution approach based on piecewise constant and piecewise linear decision rule approximations. In the robust optimization literature, [98] derive a decision-rule approximation for multistage robust optimization with endogenous uncertainty. [99] develop an exact solution scheme based on a nested decomposition algorithm for two-stage robust optimization problems with DDID and objective uncertainty. [100] provide a mixed-integer linear programming formulation for robust combinatorial problems with DDID under polyhedral uncertainty through column generation and constraint generation algorithms. Distributionally robust optimization with a decision-dependent ambiguity set has been studied in both static and adaptive settings. Such a framework can model the case where the distribution of the underlying random variables depends on decisions. One class of decisiondependent ambiguity set allows the moments of the distributions to depend on the decisions, see [101, 102, 103, 104], and [10]. Another class allows decisions to influence the nominal or marginal distributions; see [102, 105], and [106]. None of the models considers the case where decisions affect the time of information discovery. The K-adaptability approximation scheme, originally introduced by [107] for two-stage robust optimization, involves selecting K candidate policies here-and-now and implementing 39 the best of these policies after the uncertain parameters are revealed. This method naturally accommodates discrete adaptive variables. [107] study the complexity of the problem and provide an exact finite dimensional bilinear formulation for the case where K = 2. [108] propose a branch-and-bound algorithm to speed-up computation. For the class of problems involving only binary adaptive variables, [69] characterize the problem’s complexity in terms of the number of second-stage policies K needed to obtain an optimal solution to the original, fully adaptive problem and derive practical explicit mixed-integer linear optimization (MILO) reformulations. [109, 110] study the complexity of two-stage robust combinatorial optimization problems under objective uncertainty and propose efficient algorithms for the cases of polyhedral and discrete uncertainty sets, respectively. [111] propose a faster algorithm for problems with budgeted uncertainty set. [112] adapt the K-adaptability approximation for binary decision variables to the case of two-stage distributionally robust optimization problems, derive explicit mixed-integer linear programming reformulations, and provide efficient methods for bounding the selection probabilities of each of the K secondstage policies. [113] provide a single-stage robust optimization reformulation for computing optimal K-adaptable policies with optimal partitions for a two-stage distributionally robust optimization problem with constraint uncertainty, show the reformulated problem is N Pcomplete, and propose a partitioning framework that results in a mixed-integer optimization problem of moderate size. Our work most closely relates to the paper of [114], wherein the authors study a robust optimization problem with DDID and propose a conservative approximation based on K-adaptability. We study the more general class of distributionally robust problems with DDID. 3.1.3 Proposed Approach & Contributions We now summarize our proposed approach and main contributions in this paper. 1. We study two-stage distributionally robust optimization problems with decision-dependent information discovery. We formulate this class of problems as adaptive distributionally 40 robust optimization problems that optimize over decision-rules on which we impose decision-dependent non-anticipativity constraints. We establish that this model admits an equivalent two-and-a-half stage (min-max-min-max) robust optimization reformulation and adapt the popular K-adaptability approach to obtain a conservative approximation. The parameter K, which denotes the number of candidate policies, enables us to conveniently trade off computational complexity with solution quality. 2. We show that applying the K-adaptability approximation to the reformulated robust optimization problems leads to a bilinear optimization problem involving products of real-valued decision variables (see Theorem 3). For moderately sized problems, this can be solved with off-the-shelf solvers. For larger instances, we propose a decomposition algorithm that solves the problem exactly. The scheme iteratively solves a main problem with only the measurement variables and adds optimality, feasibility, and Benders-like cuts generated by an evaluation problem. We develop a provably convergent branch-and-cut algorithm to evaluate the objective with fixed measurement variables. 3. We conduct numerical experiments on stylized instances of the R&D project portfolio optimization and best box problems that showcase the effectiveness of our approach. We show that the solutions to the K-adaptability approximation can be obtained by either solving the bilinear optimization problem directly or by employing our decomposition algorithm. In the R&D project portfolio optimization problem, the decomposition algorithm outperforms the state-of-the-art solver, finding better solutions in up to 100% more cases. We assess the value of incorporating distributional information by comparing our method to that returned by a purely robust solution. Our results show that the distributionally robust optimization solution improves the robust solution by up to 51% on average in terms of the relative difference in the objective value under the worst-case distribution and by 49% in out-of-sample performance. 41 3.1.4 Organization of the Paper and Notations The remainder of the paper is organized as follows. Section 3.2 introduces the two-stage distributionally robust optimization problem with the decision-dependent information discovery and derives an equivalent min-max-min-max robust optimization counterpart. Section 3.3 presents the K-adaptability approximation scheme, and Section 3.4 describes the decomposition algorithm. Section 3.5 conducts numerical experiments to test the performance of our approach. All proofs are relegated to the appendix. Notation. Throughout the paper, vectors (matrices) are denoted by boldface lowercase (uppercase) letters. Uncertainty is modeled by the probability space R k , B R k , P , which consists of the sample space R k , the Borel σ-algebra B R k and the probability measure P, whose support we denote by Ξ. We let L Ny Nξ be the space of all measurable functions from R Nξ to R Ny that are bounded on compact sets. Given two vectors x and y of the same dimension, x ◦ y denotes their Hadamard product. Given two sets X and Y, X L−→ Y denotes a linear mapping from X to Y. We use Ai and [A]i to denote the ith column and the ith row of matrix A, respectively. With a slight abuse of notations, we use the maximum and minimum operators even when the optimum may not be achieved. In such instances, these operators should be interpreted as suprema and infima, respectively. 3.2 DRO with Decision-Dependent Information Discovery In this section, we describe the two-stage distributionally robust optimization problems with decision-dependent information discovery. We propose a decision rule-based formulation for this problem and demonstrate that it is equivalent to a two-and-a-half stage min-max-minmax robust problem. 42 3.2.1 Decision Rule Formulation The DRO-DDID problem minimizes the worst-case expected objective value over all distributions P of the uncertain parameters ξ ∈ R Nξ , supported on Ξ, and belonging to the ambiguity set P. The ambiguity set contains plausible distributions that share certain properties that are known about the true distribution. The first-stage decisions x ∈ X ⊆ R Nx , and w ∈ W ⊆ {0, 1} Nξ are selected here-and-now, before any of the uncertain parameters ξ ∈ Ξ ⊆ R Nξ are realized. The wait-and-see decisions y(ξ) ∈ Y ⊆ R Ny are dependent on the observed portion of ξ. The sets X and Y may involve integrality constraints, implying that both the first and second stage decisions may involve a mix of real- and discrete-valued decisions. The binary vector w collects the measurement decisions determining which components of the uncertain vector ξ to observe. Specifically, ξi is revealed between the first and second stages if and only if wi = 1. The two-stage distributionally robust problem with decision-dependent information discovery can be written mathematically as min sup P∈P EP ξ ⊤C x + ξ ⊤D w + ξ ⊤Q y(ξ) s.t. x ∈ X , w ∈ W, y ∈ LNy Nξ y(ξ) ∈ Y T (ξ)x + V (ξ)w + W(ξ)y(ξ) ≤ Hξ ∀ξ ∈ Ξ y(ξ) = y(ξ ′ ) ∀ξ, ξ ′ ∈ Ξ : w ◦ ξ = w ◦ ξ ′ , (3.1) where C ∈ R Nξ×Nx , D ∈ R Nξ×Nξ , Q ∈ R Nξ×Ny , and H ∈ R L×Nξ . This problem optimizes over the here-and-now decisions x ∈ X , w ∈ W, and over the functional decision rules y ∈ L Ny Nξ . Modeling y as (measurable) functions of ξ ensures that these recourse decisions enjoy a lot of modeling flexibility, being able to adapt fully to the (portion of) uncertain parameters that have been revealed between the first and second decision-stages. We assume that the left-hand-side of the constraints is linear in ξ, specifically, T (ξ) : Ξ L −→ R L×Nx , V (ξ) : Ξ L −→ 43 R L×Nξ , W(ξ) : Ξ L −→ R L×Ny . We can account for affine dependencies on ξ by introducing an auxiliary uncertain parameter ξNξ+1 restricted to equal one. The last set of constraints, which is a decision-dependent non-anticipativity constraint, enforces that y(·) can only depend on the observed uncertain parameters. Given two realizations ξ and ξ ′ , the equality w ◦ ξ = w ◦ ξ ′ holds if and only if the observed portions of the two realizations are the same. In this case, the corresponding wait-and-see decisions y(ξ) and y(ξ ′ ) should also be consistent with one another. The uncertainty set Ξ in (3.1) is a nonempty bounded polyhedron expressible as Ξ = n ξ ∈ R Nξ : Aξ ≤ b o for some matrix A ∈ R R×Nξ and vector b ∈ R R. The ambiguity set P takes the form P = P ∈ M+(R Nξ ) : P(ξ ∈ Ξ) = 1, EP(g(ξ)) ≤ c , (3.2) where M+ R Nξ denotes the cone of nonnegative Borel measures supported on R Nξ . The uncertainty set Ξ is also the support set, being defined as the smallest set that is known to satisfy ξ ∈ Ξ with probability 1 for some distribution P ∈ P. We assume that c ∈ R Ng and that g : R Nξ → R Ng is a convex piecewise linear multifunction defined as gs(ξ) = max t∈T g ⊤ stξ ∀s ∈ S = {1, . . . , Ng}. The vector gst ∈ R Nξ collects the coefficients of the t-th piece of the function gs(ξ). Without loss of generality, the index t of the linear pieces ranges over the same index set T = {1, . . . , T} for each gs(ξ), where s ∈ S. Finally, we assume that the ambiguity set P contains a Slater point in the sense that there is a distribution P ∈ P such that EP [gs(ξ)] < cs for all s ∈ S for which gs(ξ) is nonlinear. In the DDID problem, since the information is discovered after implementing the measurement decision, we do not have empirical data to build the data-driven ambiguity set. For example, in the landslides prediction and warning problem, we may have information 44 from other sites that could be used to obtain statistics on moments, but if we never installed sensors on the slope, no data was collected. As such, we consider using the moment-based ambiguity set (3.2), which can be built judiciously using domain knowledge and expert assessments. The ambiguity set (3.2) has the flexibility to characterize many features of the unknown true distribution P0, e.g., mean, mean absolute deviation. It can also approximate the nonlinear features, e.g., variance and standard deviation. Another benefit of (3.2) is tractability, as it usually leads to mixed integer linear programming or mixed integer nonlinear programming formulations. Remark 1. When w = 0, no uncertain parameters are revealed between the first and second decision stages. In this case, problem (3.1) reduces to a single-stage DRO problem, where the decision-maker chooses x, w, y here-and-now to optimize in view of the worst-case distribution. When w = e, the problem (3.1) reduces to a two-stage adaptive DRO problem. Finally, when the ambiguity set only contains the support information, we recover the robust optimization problem studied in [114]. Solving the decision-rule based formulation (3.1) is computationally challenging since it optimizes over a function space L Ny Nξ . To the best of our knowledge, no approximation schemes for the adaptive binary variables can be directly applied. The prepartioning approach proposed in [97] is tailored to stochastic and pure robust optimization problems and does not generalize to cases where the distribution is unknown. The approaches proposed in [113] and [112] can only solve the special instance of (3.1) where w = e. The lack of approximation schemes applicable to formulation (3.1) motivates us to derive an equivalent nested reformulation that gives us access to a broader set of approximation and solutions schemes. 3.2.2 An Equivalent min-max-min-max Reformulation In this section, we derive an equivalent min-max-min-max reformulation of problem (3.1) that yields the same set of optimal first-stage decisions (x, w) and corresponding optimal 45 objective values. We formalize the equivalence in the following theorem. Theorem 1. The objective value and set of optimal solutions (x, w) to problem (3.1) are equal to those of the min-max-min-max problem min max ξ∈Ξ min y∈Y max ξ∈Ξ(w,ξ) c ⊤ψ + ξ ⊤C x + ξ ⊤D w + ξ ⊤Q y − ψ ⊤g(ξ) s.t. T (ξ)x + V (ξ)w + W(ξ)y ≤ Hξ ∀ξ ∈ Ξ(w, ξ) s.t. ψ ∈ R Ng + , x ∈ X , w ∈ W, (3.4) where Ξ(w, ξ) := {ξ ∈ Ξ : w ◦ ξ = w ◦ ξ}. Problem (3.4) can be interpreted as a sequential game against “nature”. In the first stage, the decision-maker first decides on ψ, x, and w. Then, nature chooses a realization ξ of the uncertain parameters, of which the decision-maker can only observe those elements ξi such that wi = 1. In the second stage, the decision-maker selects y in a way that is robust to the remaining elements of ξi (that have not been observed). Finally, nature selects a realization of ξ that coincides with ξ for those elements that have been observed between the first and second decision stages, i.e., such that ξi = ξi for i ∈ I such that wi = 1. The sketch of the proof Theorem 1 is as follows. For fixed w, x, y(·) we identify the inner maximization of problem (3.1) as a moment problem and dualize it. Strong duality guarantees that the optimal solution (x, w, y(·)) in the dualized problem is also optimal in the original problem (3.1) and that both problems have the same objective value. The dual problem then reduces to a robust optimization problem with decision-dependent information discovery. Applying [114] Theorem 1 yields the equivalent nested formulation (3.4). The full proof is deferred to Appendix B. 3.3 K-Adaptability Counterpart The min-max-min-max reformulation (3.4) enables us to propose a new approximate and potentially exact solution approach to solve the DRO problem with DDID. The new solution 46 approach is based on the K-adaptability approximation, which allows us to control the trade-off between complexity and solution quality. In the K-adaptability approximation, K different policies are chosen here-and-now before any uncertain parameters are revealed. After a portion of uncertain parameters {ξi : wi = 1} are observed, the best candidate policy is implemented among those that are robustly feasible considering the uncertain parameters that remain unknown. If there exists some ξ ∈ Ξ such that no policies are feasible, the Kadaptability problem evaluates to +∞. While in problem (3.4), the wait-and-see decisions y can take on any value that satisfies the constraint in Y, the K-adaptability approximation only allows us to choose one of the K candidate values identified in the first stage. It thus results in a conservative approximation to problem (3.4). The K-adaptability counterpart of problem (3.4) can be written as min max ξ∈Ξ min k∈K max ξ∈Ξ(w,ξ) c ⊤ψ + ξ ⊤C x + ξ ⊤D w + ξ ⊤Q yk − ψ ⊤g(ξ) s.t. T (ξ)x + V (ξ)w + W(ξ)y k ≤ Hξ ∀ξ ∈ Ξ(w, ξ) s.t. ψ ∈ R Ng + , x ∈ X , w ∈ W, y k ∈ Y, ∀k ∈ K, (3.5) where K = {1, . . . , K}. We provide reformulations of the K-adaptability problem (3.5) that can be fed into offthe-shelf solvers, beginning with the case involving only objective uncertainty. In the absence of uncertainty in the constraints, the problem is expressible as min max ξ∈Ξ min k∈K ( max ξ∈Ξ(w,ξ) c ⊤ψ + ξ ⊤C x + ξ ⊤D w + ξ ⊤Q yk − ψ ⊤g(ξ) ) s.t. ψ ∈ R Ng + , x ∈ X , w ∈ W, y k ∈ Y, ∀k ∈ K T x + V w + W yk ≤ h, ∀k ∈ K, (3.6) where h ∈ R L . We show the equivalent mixed binary bilinear reformulation of problem (3.6) in the following theorem. Theorem 2. The K-adaptability problem with objective uncertainty (3.6) is equivalent to 47 the following mixed binary bilinear problem min c ⊤ψ + b ⊤β + P k∈K b ⊤β k s.t. x ∈ X , w ∈ W, y k ∈ Y, ∀k ∈ K α ∈ R K + , β ∈ R R +, β k ∈ R R +, ∀k ∈ K, γ k ∈ R Nξ , ∀k ∈ K ψ ∈ R Ng + , δk s,t ∈ R+, ∀s ∈ S, ∀t ∈ T , ∀k ∈ K A⊤β k + w ◦ γ k + X s∈S X t∈T δ k s,tgs,t = α k Cx + Dw + Qyk ∀k ∈ K X t∈T δ k t = α kψ ∀k ∈ K e ⊤α = 1 A⊤β = X k∈K w ◦ γ k T x + V w + W yk ≤ h ∀k ∈ K. (3.7) For the case of constraint uncertainty, to keep the paper concise, we only present the main theorem and defer the full mixed integer nonlinear optimization (MINLO) reformulation to Appendix B. The dual variables α are associated with the set of epigraph constraints in problem (B.18). The variables β and {β k}k∈K are associated with the constraints A ¯ξ ≤ b and Aξk ≤ b, ∀k ∈ K, respectively. The dual variables {γ k}k∈K are associated with the constraint w ◦ ξ k = w ◦ ¯ξ, ∀k ∈ K. Finally, {δ k s,t}s∈S,t∈T ,k∈K arises from dualizing the set of constraints ζ k s ≤ −g ⊤ s,tξ k with respect to the moment information. Theorem 3. The K-adaptability problem (3.5) with constraint uncertainty has an equivalent mixed binary bilinear reformulation. In the case with only objective uncertainty, formulation (3.7) presents two sets of bilinear terms. The first set of constraints contain α kx, αkw, and α ky k , which can be linearized if x and y k are discrete variables. The second set of constraints involves the term α kψ which is a product between continuous variables (recall that ψ is the dual variable of the constraint EP(g(ξ)) ≤ c in the ambiguity set (3.2)). The number of nonlinear 48 terms scale as O(K · Ng). In cases where problem (3.5) involves constraint uncertainty, its MINLO reformulation (B.17) also includes bilinear terms between continuous variables, scaling as O((1 + L) K · K · Ng). These terms do not appear if the ambiguity set (3.2) only has support information. Solving a mixed-integer bilinear problem to global optimality is difficult in general. Since version 9.0, Gurobi added support for solving nonconvex MINLO problems using a spatial branching algorithm. The generic algorithm in Gurobi converges slowly when the number of bilinear terms is large (see Table 3.3). Instead of solving the monolithic MINLO problems (3.7) and (B.17) in the case of objective uncertainty and constraint uncertainty, respectively, in the following section, we propose a decomposition algorithm that solves problem (3.5) using a nested decomposition algorithm. 3.4 Decomposition Algorithm In this section, we leverage the nested structure of problem (3.5) to design a two-layer decomposition algorithm that solves it to global optimality. A decomposition algorithm has been used to solve a two-stage robust optimization problem with DDID and objective uncertainty in [99]. We extend it to the DRO setting with both objective and constraint uncertainty. Figure 3.1 provides an overview of our overall proposed solution procedure. We present an L-shaped algorithm designed to optimize the measurement variables w, as introduced in Section 3.4.1. A key subroutine within the L-shaped algorithm involves the evaluation of the true objective value of (3.5) for a given w. We propose to address this evaluation problem through a branch-and-cut algorithm, the details of which are discussed in Section 3.4.2. In addition, we develop three cut families to strengthen the main problem in the L-shaped algorithm. We discuss them in Section 3.4.3. 49 Start Solve relaxation problem (Prelax) from Section 3.4.1 Evaluate Φ(w′ ) using Algorithm 2 from Section 3.4.2.1 or Algorithm 3 from Section 3.4.2.2 optimal w′ , optimal objective value θ ′ |Φ(w′ ) − θ ′ | ≤ ε? Report optimal solution w⋆ , ψ⋆ , x ⋆ , n y k ⋆ o k∈K Yes Add cut (Copt) or (Cfeas) from Section 3.4.1, and cuts (CBenders), (Cs-feas), (Cs-opt) from Section 3.4.3 if applicable No Figure 3.1: Overview of our proposed decomposition Algorithm 1 3.4.1 L-shaped Algorithm to Optimize w The objective function of (3.5) can be written as a function of w. We present in this section an algorithm to solve the decomposed problem min Φ(w) s.t. w ∈ W, (P) where Φ(w) = min c ⊤ψ + max ξ∈Ξ min k∈K max ξ∈Ξ(w,ξ) ξ ⊤Cx + ξ ⊤Dw + ξ ⊤Qyk − ψ ⊤g(ξ) s.t. T (ξ)x + V (ξ)w + W(ξ)y k ≤ Hξ ∀ξ ∈ Ξ(w, ξ) s.t. ψ ∈ R Ng + , x ∈ X , y k ∈ Y, ∀k ∈ K. (IPw) The function Φ(·) is, in general, nonconvex on [0, 1]Nξ . However, since w is binary, [115, Proposition 1] show that Φ(·) can be replaced by its convex lower envelope, a convex piecewise linear function on [0, 1]Nξ , that coincides with Φ(·) at all binary points in {0, 1} Nξ . We 50 construct the convex lower envelope using two sets of constraints. The first set of constraints contains the integer optimality inequalities first proposed by [115] for a stochastic problem with integer first-stage variables, defined as Φ(w) ≥ (Φ(wr ) − L) X i∈Ir wi − X i /∈Ir wi − (Φ(wr ) − L) (|Ir| − 1) + L ∀wr ∈ W, (Copt) where L is any lower bound on Φ(w). Ir collects the indices of the components of vector wr that take value 1. We can verify that the integer optimality cuts are both valid and tight at each binary point x. When w = wr , the term P i∈Ir wi − P i /∈Ir wi is equal to |Ir|, and the right-hand side of the inequality (Copt) is equal to Φ(wr ). In the case where w ̸= wr , the value of the term P i∈Ir wi − P i /∈Ir wi is less than |Ir|, thereby ensuring that the right-hand side of the inequality (Copt) does not exceed L. The lower bound L can be determined by the problem structure or obtained heuristically, for example, by solving a deterministic problem which replaces the uncertainty sets in both the inner and outer maximization problems with a singleton { ¯ξ}, where ¯ξ ∈ Ξ. For points wr such that Φ(wr ) = +∞, we can either set Φ(wr ) as a sufficiently large number in inequalities (Copt), or exclude them from the feasible region W by enforcing the following set of feasibility cuts (see [116] and [117]) X i∈Ir (1 − wi) + X i /∈Ir wi ≥ 1, ∀wr ∈ Winf, (Cfeas) where Winf = {w : w ∈ W, Φ(w) = +∞}. The cuts state that any feasible points w should be different on at least one component from all infeasible points wr ∈ Winf. Expressing the feasibility cut separately in (Cfeas), we can then exclude them from (Copt) and define the set of optimality inequalities on the set Wfeas = W \ Winf. For any Wcfeas ⊆ Wfeas and Wcinf ⊆ Winf, the following problem (Prelax) is a relaxation of problem (P) since its constraints enforce a subset of the feasibility cuts (Cfeas), and the 51 objective takes an epigraph form on a subset of the optimality cuts (Copt). min θ s.t. θ ∈ R, w ∈ W θ ≥ (Φ(wr ) − L) X i∈Ir wi − X i /∈Ir wi − (Φ(wr ) − L) (|Ir| − 1) + L ∀wr ∈ Wcfeas X i∈Ir (1 − wi) + X i /∈Ir wi ≥ 1 ∀wr ∈ Wcinf. (Prelax) We use the relaxed problem (Prelax) as the main problem of the L-shaped algorithm. Algorithm 1 describes the L-shaped procedure. It iteratively solves problem (Prelax), evaluates the value Φ(w′ ) at the current optimal solution w′ , adds new cuts, and updates the bounds. The proof of finite convergence in [115, Proposition 1] for a two-stage integer stochastic problem can be easily adapted. To keep the paper concise, we omit it here. Algorithm 1: L-shaped algorithm for solving problem (P) Inputs: Any lower bound L of θ , optimality gap tolerance ε. Output: Optimal solution w⋆ , and optimal objective value θ ⋆ . Initialization: Set θ ⋆ ← +∞, w∗ ← ∅, Wcfeas ← ∅, Wcinf ← ∅. 1. Solve problem (Prelax), let (w′ , θ′ ) be an optimal solution. If |θ ⋆ − θ ′ | ≤ ε, stop. 2. Evaluate Φ(w′ ) by solving problem (IPw). 3. If Φ(w′ ) = +∞, set Wcinf ← Wcinf S {w′}, go to step 1; else, go to step 4. 4. If Φ(w′ ) < θ⋆ , set w⋆ ← w′ and θ ⋆ ← Φ(w′ ). Set Wcfeas ← Wcfeas S {w′}, go to step 1. Result: Return w⋆ and θ ⋆ . 52 3.4.2 Branch-and-Cut Algorithm to Evaluate Φ(w) We present in this section a branch-and-cut algorithm for evaluating the objective function Φ(w′ ) at the current solution w′ , which is a crucial component of Algorithm 1. We begin the section by discussing a basic branch-and-bound algorithm adapted from [108] to find an optimal solution for a min-max-min problem with K-adaptability. Then, we design a cutting plane algorithm to solve the inner min-max problem and merge it into the branch-and-bound tree to form the final branch-and-cut algorithm. Finally, we prove the convergence of the branch-and-cut algorithm. Before proceeding with the algorithm, we introduce an equivalent formulation of problem (IPw) as given in the following proposition. Proposition 1. The following problem is equivalent to problem (IPw). min θ s.t. θ ∈ R, ψ ∈ R Ng + , x ∈ X , y k ∈ Y ∀k ∈ K, Ξ k ⊆ R Nξ ∀k ∈ K S k∈K Ξ k = Ξ θ ≥ c ⊤ψ + max ξ∈Ξ(w′ ,ξ) ξ ⊤Cx + ξ ⊤Dw′ + ξ ⊤Qyk −ψ⊤g(ξ) T (ξ)x + V (ξ)w′ + W(ξ)y k ≤ Hξ ∀ξ ∈ Ξ(w′ , ξ) ∀ξ ∈ Ξ k , ∀k ∈ K, (IPw(Ξ)) where, for each k ∈ K, Ξ k denotes the set of scenarios for which the corresponding optimal policy is y k . In problem (IPw), the best candidate policy y k is selected for each realization ξ. Problem (IPw(Ξ)) achieves the same goal by optimizing the decision variables Ξk , k ∈ K. This is equivalent to finding an optimal partition of the uncertainty set Ξ. Problem (IPw(Ξ)) is a robust optimization problem with a decision-dependent uncertainty set, since the uncertainty sets {Ξ k}k∈K in the constraints are decision variables themselves. 53 3.4.2.1 Constraint Generation Algorithm To solve problem (IPw(Ξ)), we use a constraint generation algorithm. The main problem IPw( bΞ) is a relaxation of (IPw(Ξ)) where the set Ξ in the partition constraint is substituted with a finite set bΞ ⊆ Ξ. In each iteration, a scenario is generated and added to bΞ. We now describe our proposed procedure for solving the main problem. To this end, we present the following fixed partition problem, where { bΞ k}k∈K are parameter inputs rather than decision variables. min θ s.t. θ ∈ R, ψ ∈ R Ng + , x ∈ X , y k ∈ Y ∀k ∈ K θ ≥ c ⊤ψ + max ξ∈Ξ(w′ ,ξ) ξ ⊤C x + ξ ⊤D w′ + ξ ⊤Q yk −ψ⊤g(ξ) T (ξ)x + V (ξ)w′ + W(ξ)y k ≤ Hξ ∀ξ ∈ Ξ(w′ , ξ) ξ ∈ bΞ k , ∀k ∈ K. (IP′ w({ bΞ k}k∈K)) Any problem (IP′ w({ bΞ k}k∈K)) defined on partition { bΞ k}k∈K, where S k∈K bΞ k = bΞ serves as a conservative approximation to IPw( bΞ). Among these fixed partition problems, the one that achieves an optimal partition of bΞ will have the lowest objective value, which coincides with the value of IPw( bΞ). Once we have obtained an optimal solution (θ, ψ, x, {y k}k∈K) to IPw( bΞ), we solve the following separation problem to check whether the current solution is feasible and optimal across the entire uncertainty set Ξ z = max ξ∈Ξ min k∈K max ξ∈Ξ(w′ ,ξ) max n c ⊤ψ + ξ ⊤C x + ξ ⊤D w′ + ξ ⊤Q y k − ψ ⊤ g(ξ) − θ , max l∈{1,...,L} n [V (ξ)]lx + [T (ξ)]lw′ + [W(ξ)]ly k − [H]lξ o ) , (IPout w ) where l ∈ {1, . . . , L} indices the uncertain constraints. If z > 0, this indicates that either 54 the solution is infeasible due to the maximum constraint violation taking a positive value or that there is an optimal ξ causing an objective value larger than θ ′ . Theorem 10 shows that problem (IPout w ) is amenable to an MIO reformulation. To obtain an optimal solution of (IPw(Ξ)), we extend the branch-and-bound algorithm proposed in [108, Section 3.1] to a two-and-a-half stage robust optimization problem. The algorithm starts by solving problem (IP′ w({ bΞ k}k∈K)) with bΞ = n ξ0 o , where ξ0 is an arbitrary scenario from Ξ. After getting an optimal solution, it solves the separation problem (IPout w ) to check for any violations. Note that instead of optimizing over { bΞ k}k∈K, problem (IP′ w({ bΞ k}k∈K)) fixes the partition of bΞ. So to achieve an optimal solution to (IPw(Ξ)), it separately adds the violated scenario into bΞ 1 , . . . , bΞ k to create K new scenario-based problems. The procedure stops when there is no violation. We summarize the algorithm in Algorithm 2. 3.4.2.2 A Branch-and-Cut Algorithm. In step 1 of Algorithm 2, problem (IP′ w({ bΞ k}k∈K)) can be reformulated as a single stage MILO by dualization. However, theorem 11 shows that the size of the problem grows with | bΞ| with the number of dual variables being O(| bΞ|) and the number of constraints being O(| bΞ|), which is computationally challenging. Therefore, we propose to solve the robust optimization problem using a constraint generation algorithm which will be embedded within the branchand-cut algorithm that we now present. We start with the cut generation algorithm for solving problem (IP′ w({ bΞ k}k∈K)). Given 55 Algorithm 2: branch-and-bound algorithm for solving problem (IPw) Inputs: Initial scenario ξ0 and number of policies K. Output: Optimal solution (ψ⋆ , x ⋆ , {y k ⋆ }k∈K), and optimal objective value θ ∗ of problem (IPw). Initialize: Let { bΞ 1 , . . . , bΞ K} ← {{ξ0}, {}, . . . , {}}, set problem list Q ← {P′ ({ bΞ k}k∈K)}, and θ ⋆ ← +∞. while Q ̸= ∅ do 1. Select, solve and remove a problem P ′ ({ bΞ k}k∈K) from Q. Let (θ, ψ, x, {y k}k∈K) be an optimal solution; if θ ′ > θ⋆ , continue. 2. Solve the separation problem (IPout w ) let z be the optimal objective value and ξ be an optimal solution. If z > 0, create K problems P ′ ({ bΞ 1 , . . . , bΞ k ∪ {ξ}, . . . , bΞ K}), for each k ∈ K, and add it to the problem list Q; else, set (θ ⋆ , ψ⋆ , x ⋆ , {y k ⋆ }k∈K) ← (θ, ψ, x, {y k}k∈K). end Result: Report (θ ⋆ , ψ⋆ , x ⋆ , {y k ⋆ }k∈K) as an optimal solution if θ ⋆ < +∞, and problem is infeasible otherwise. 56 collections of scenarios { bΞ k}k∈K, the following relaxation of (IP′ w({ bΞ k}k∈K)) is solved min θ s.t. θ ∈ R, ψ ∈ R Ng + , x ∈ X , y k ∈ Y ∀k ∈ K. θ ≥ c ⊤ψ + max ξ∈Ξbk in ξ ⊤C x + ξ ⊤D w′ + ξ ⊤Q yk −ψ⊤g(ξ) T (ξ)x + V (ξ)w′ + W(ξ)y k ≤ Hξ ∀ξ ∈ bΞ k in ∀k ∈ K, (IP′′ w({ bΞ k in}k∈K)) where bΞ k in is a finite subset of S ξ∈Ξbk Ξ(w′ , ξ). After getting a solution (θ, ψ, x, {y k}k∈K) of (IP′′ w({ bΞ k in}k∈K)), the following subproblems are solved to evaluate the violation of the constraints in (IP′ w({ bΞ k}k∈K)) v k = max ξ∈Ξbk max ξ∈Ξ(w′ ,ξ) max n c ⊤ψ + ξ ⊤C x + ξ ⊤D w′ + ξ ⊤Q y k − ψ ⊤ g(ξ) − θ, max l∈{1,...,L} n ξ ⊤Tlx + ξ ⊤Vlw′ + ξ ⊤Wly k − [H]lξ o ) ∀k ∈ K. (IPin w) We have v k ≤ 0 for all k ∈ K, if and only if a robust optimal solution of (IP′ w({ bΞ k}k∈K)) has been found. The branch-and-cut algorithm for evaluating Φ(w′ ) starts by solving problem (IP′′ w({ bΞ k in}k∈K)). At incumbent nodes, it checks the inner robust feasibility by solving problem (IPin w) and adds a cut until a feasible solution to (IP′ w({ bΞ k}k∈K)) is found. The feasible solution is then used to create branches or update the bounds as stated in Algorithm 2. Algorithm 3 summarizes the procedure, which we also illustrate in Figure 2. 3.4.2.3 Convergence Analysis We discuss the correctness as well as the asymptotic convergence of Algorithm 3 in the following theorem. Theorem 4. If the branch-and-cut Algorithm 3 terminates, then it either returns an optimal solution to problem (IPw) or correctly identifies it as infeasible. If there is no finite conver57 Algorithm 3: branch-and-cut algorithm for solving problem (IPw). Inputs: Initial scenario ξ0 , vector w′ , and number of policies K. Output: Optimal solution (ψ⋆ , x ⋆ , {y k ⋆ }k∈K) and optimal objective value θ ⋆ of problem (IPw). Initialize: Set { bΞ 1 , . . . , bΞ K} ← {{ξ0}, {}, . . . , {}}, bΞ k in ← bΞ k , ∀k ∈ K, θ ⋆ ← +∞. Start the branch-and-bound tree from problem P ′′({ bΞ k in}k∈K). 1. When an incumbent node is reached, get solution (θ, ψ, x, {y k}k∈K), and solve problem (IPin w). If maxk∈K v k > 0, go to step 2; else, go to step 3. 2. For all k ∈ K, let ξ k be an optimal solution to the kth problem; if v k > 0, set bΞ k in ← bΞ k in S {ξ k}. Go to step 5. 3. Solve problem (IPout w ). If z > 0, let ξ be an optimal solution, go to step 4; else, if θ ≤ θ ⋆ , set θ ⋆ ← θ. Go to step 1. 4. Create K branches, each for problem P ′ ({ bΞ 1 , . . . , bΞ k ∪ {ξ}, . . . , bΞ K}), k ∈ K. For each branch, start with solving the corresponding relaxation problem P ′′({ bΞ 1 in , . . . , bΞ k in ∪ {ξ}, . . . , bΞ K in}). Go to step 5. 5. If the global lower bound lbglobal ≥ θ ⋆ or no feasible node exist, terminate with status Opt or Infeas, and report the current solution; else if the node lower bound lbnode > θ⋆ , fathom the node. Go to step 1. Result: The branch-and-bound tree will end with either giving an optimal solution (θ ⋆ , ψ⋆ , x ⋆ , {y k ⋆ }k∈K) or identifying that the problem as infeasible. 58 Initialize and start to solve (IP′′ w({Ξbk in}k∈K)) Whenever at incumbent node, get solution (θ, ψ, x, {y k}k∈K) Check inner robust feasibility by solving (IPin w) for each k ∈ K maxk∈K v k > 0? ∀k ∈ K, if v k > 0 add ξ k to Ξbk in Yes Check outer robust feasibility by solving (IPout w ) No Terminate by Step 5? z > 0? Create K branches Yes End with status and solution Yes Check and fathom using Step 5 No Update solution if θ < θ⋆ No Figure 3.2: Diagram of Algorithm 3 for solving problem (IPw) gence, then in an infinite branch, every accumulation point of the sequence of the solutions obtained in step 1 of Algorithm 3 corresponds an optimal solution (ψ⋆ , x ⋆ , {y k ⋆ }k∈K) of problem (IPw) with objective value θ ⋆ . 3.4.3 Improved L-shaped Algorithm In this section, we introduce three types of cuts to be added to Algorithm 1, which have the potential to improve its performance (see Table 3.3). 3.4.3.1 Benders’ Cut A popular family of cuts in the integer programming literature is Benders’ cuts, see [118]. In each iteration of Algorithm (1), for a fixed wr , we relax the integrality of the decisions and solve an LP relaxation of problem (IPw) and get the optimal dual solution to calculate 59 the Benders’ cut. Specifically, we consider the following LP problem min θ s.t. θ ∈ R, ψ ∈ R Ng + , x ∈ X LP , y(ξ) ∈ YLP w = wr θ ≥ c ⊤ψ + ξ ⊤C x + ξ ⊤D w + ξ ⊤Q y(ξ) − ψ⊤g(ξ) T (ξ)x + V (ξ)w + W(ξ)y(ξ) ≤ Hξ ∀ξ ∈ bΞ, (3.8) where X LP and Y LP are linear relaxations of X and Y by allowing all variables to be continuous, and bΞ can be any finite subset of Ξ. Problem (3.8) is a relaxation of (IPw) in the sense that (i) it solves a fully adaptable problem on a finite set bΞ, (ii) it ignores the fact that y(ξ) needs to be robust to the unobserved portion of ξ, and (iii) the mixed-integer sets X and Y are replaced by their linear relaxation. The Benders’ cut (CBenders) added in step 3 of Algorithm 1 is generated by obtaining the optimal objective value θ of problem (3.8), and the values π of the dual multipliers associated with the constraints w = wr θ ≥ θ + π ⊤(w − wr ). (CBenders) In the implementation, we can either randomly generate or collect the scenario generated in step 3 of Algorithm 3 to construct set bΞ. 3.4.3.2 Strengthened Feasibility Cut If problem (3.1) contains a subset of constraints in the form V (ξ)w ≤ Hξ, ∀ξ ∈ Ξ, (3.9) and the matrix V (ξ) is component-wise non-negative for all ξ ∈ Ξ, then for any infeasible solution wr , a solution w with w ≥ wr is also infeasible for problem (P). In this scenario, 60 we incorporate the following strengthened feasibility cut in step 2 of Algorithm 1 X i∈Ir 1 − wi ≥ 1. (Cs-feas) The cut (Cs-feas) is stronger than (Cfeas) in the sense that the former excludes all solutions w ≥ wr from the feasible region, while the latter excludes only wr itself. Theorem 5. If problem (3.1) contains a subset of constraints in the form of (3.9), and the matrix V (ξ) is component-wise non-negative for all ξ ∈ Ξ, then for any solution wr that is infeasible to problem (3.1), any solutions that violate constraint (Cs-feas) are also infeasible. 3.4.3.3 Strengthened Optimality Cut When the variable w only appears in the objective function, and the cost vector of it is deterministic, problem (IPw) can be written as min d ⊤w + Φ(w) s.t. w ∈ W, (3.10) where Φ(w) = min c ⊤ψ + max ξ∈Ξ min k∈K max ξ∈Ξ(w,ξ) ξ ⊤C x + ξ ⊤Q yk − ψ ⊤g(ξ) s.t. T (ξ)x + W(ξ)y k ≤ Hξ ∀ξ ∈ Ξ(w, ξ) s.t. ψ ∈ R Ng + , x ∈ X , y k ∈ Y, ∀k ∈ K. (3.11) For the function Φ(w) defined in (3.11), consider two vectors w and wr . If w is component-wise smaller than wr , i.e., w ≤ wr , then Φ(w) ≥ Φ(wr ). The intuition behind this is that if more entries of w take the value 1, the decision-maker has more information when making the recourse decision. This leads to the function Φ(w) having a non-decreasing value, as discussed in [99, Proposition 2]. When applicable, we use the following strengthened 61 optimality cut in step 3 of Algorithm 1 θ ≥ Φ(w′ ) − (Φ(w′ ) − L) X i /∈Ir wi . (Cs-opt) 3.4.3.4 Upper Cutoff To avoid spending time evaluating the function value Φ(w′ ) with suboptimal w′ , in the initialization step of Algorithm 3, we set the cutoff value as the current upper bound θ ⋆ found by Algorithm 1. The termination condition for Algorithm 3 is met when the current lower bound exceeds the cutoff value. In such cases, w′ is proven to be suboptimal. In the case of early termination, the integer cut (Copt) is generated using the cutoff value. The alternative to step 2 of Algorithm 1 is as follows: 2 ′ : Evaluate the value Φ(w′ ) with cutoff value θ ⋆ . The additional initialization and add-on to step 5 of Algorithm 3 are given as follows: Initialize: Set cutoff value θub ← θ ⋆ . 5 +: If the global lower bound lbglobal > θub, terminate and return the current incumbent solution. 3.5 Numerical Results In this section, we investigate the performance of our approach on the best box and R&D project portfolio optimization problems. We show the trade-off between optimality and computational effort as the number of policies K is varied and the suboptimality of the robust optimization approach proposed in [114] under worst-case distribution, thereby demonstrating the value of our method relative to existing literature. In both problems, we report the results of solving the MINLO problem by Gurobi 9.0.1. In the R&D project portfolio optimization problem, we showcase the attractive scalability properties of our proposed decomposition algorithm. To solve the robust optimization counterpart, where the ambiguity 62 set (3.2) only includes the support, we employ the ROC ++ package [119] for coding and solving the problem. Furthermore, in Appendix C.3, we present the numerical results of an extension to the R&D problem. The results show that the proposed solution method works equally effectively as in the R&D problem. All of our experiments are performed on the High-Performance Computing Cluster of our university. Each job is allocated 2GB RAM, 4 cores, and a 2.1GHz Xeon processor. For each instance, an optimality gap of 0.1% and a time limit of 7,200 seconds are allowed to solve the problem. 3.5.1 Distributionally Robust Best Box problem 3.5.1.1 Problem Description We perform experiments on several instances of the two-stage best box problem that subsumes selection problems as special cases. It is a distributionally robust variant of the robust problem in [114, 119]. In this problem, we have N boxes indexed in the set N = {1, . . . , N} to choose from. Each box n contains an unknown prize with value ξ r n , and opening it incurs an unknown cost ξ c n . The return and cost are uncertain and will only be revealed if the box is opened. In the first stage, the decision-maker decides whether to open each box n ∈ N , which we indicate with the decision variable w r n ∈ {0, 1}. Thus, ξ r n and ξ c n are revealed between the first and second time stage if only w r n = 1. The total budget available to open boxes is B. In the second stage, the decision-maker keeps one of the opened boxes and earns its value, indicated with the decision variable yn ∈ {0, 1}. The goal of the decision-maker is to select the boxes to open and keep to maximize the worst-case expected value of the box kept. We assume that the values and costs are expressible as ξ r n = (1 + Φ⊤ n ζ/2)rn and ξ c n = (1 + Ψ⊤ n ζ/2)cn, where rn and cn correspond to the nominal value and cost for box n, respectively, ζ ∈ [−1, 1]M are M risk factors, and the vectors Φn, Ψn ∈ R M collect the loading factors for box n. The support of the distribution of the uncertain parameters is 63 described as follows Ξ = n (ξ r , ξ c ) ∈ R 2N : ∃ζ ∈ [−1, 1]M : ξ r n = 1 + Φ⊤ n ζ/2 rn, ξc n = 1 + Ψ⊤ n ζ/2 cn, n ∈ N } . We define ξ = (ξ r , ξ c ), µ = (r, c), and use the following ambiguity set for the uncertain values and costs PBB = P ∈ M+(R Nξ ) : P(ξ ∈ Ξ) = 1, EP hn|e ⊤ (ξ − µ) i ≤ 0.25N −1/2 e ⊤µ) . (3.12) The last constraint in the ambiguity set follows the intuition of the central limit theorem, and it imposes an upper bound on the cumulative deviation of the boxes’ returns and costs from their expected values. The distributionally robust best box problem can be written as min sup P∈P EP h −ξ r⊤y(ξ) i s.t. w = (wr , wr ), wr ∈ {0, 1} N y(ξ) ∈ {0, 1} N ξ c⊤wr ≤ B y(ξ) ≤ wr e ⊤y(ξ) = 1 ∀ξ ∈ Ξ, y(ξ) = y(ξ ′ ) ∀ξ, ξ ′ ∈ Ξ : w ◦ ξ = w ◦ ξ ′ . (3.13) Besides the support, the ambiguity set (3.12) has only one constraint, leading to a scalar dual variable in the MINLO reformulation of (3.13). Therefore, the reformulation has only one bilinear term with continuous variables, and the reformulated MINLO problem can be handled by Gurobi efficiently. 64 3.5.1.2 Computational Results We evaluate the performance of our approach on 80 randomly generated instances of problem (3.13): 20 instances for each N ∈ {10, 20, 30, 40} with risk factors M ∈ {5, 10, 15, 20}. In each instance, c is drawn uniformly at random from the hypercube [0, 10]N , and r = c/5, B = e ⊤c/2. The risk loading factors Φn and Ψn are sampled uniformly at random from the hypercube [−1, 1]M. We solve the K-adaptability counterpart of (3.13) for K ∈ {1, 2, 3, 4}. We summarize our results in the following. In the best box problem, as the number of bilinear terms between continuous variables is small, solving the monolithic MINLO is more efficient than using the decomposition algorithm in all cases. Table 3.1 summarizes the computational results across the generated instances. The improvement over the static solution increases rapidly with the number of policies. The average improvements over the static solution for all sizes are 87.1%, 111.3%, 121.3% for K = 2, 3, 4, respectively. The improvement in solution quality comes at a computational cost. To study the quality of the solutions obtained by the K-adaptability approximation, we solve a small-sized problem with N = 10. Based on the structure of the problem, the original problem (3.4) with full adaptability needs at most 11 candidate policies (one for selecting each box at the second stage, and another one if no box is opened). The average improvements over the static solution for K = 2 and K ≥ 3 are 42.6% and 43.9%, respectively. This result shows that, in the small-sized best box problem, 3 (out of a total of 11) candidate policies are sufficient for the K-adaptability approximation (3.5) to be optimal in the original problem (3.4). We now assess the suboptimality of an optimal solution to the RO problem in the DRO problem. To compute such suboptimality, we first solve the robust optimization counterpart of problem (3.13), where the ambiguity set (3.12) includes only support information. Let (xRO, wRO, {y k RO}k∈K) denote an optimal solution to the RO problem, we fix these values in (3.13) and solve the inner maximization problem to obtain the objective value of 65 K N = 10 N = 20 N = 30 N = 40 1 0.0%/0.1s/0.0% 0.0%/0.2s/0.0% 0.0%/0.4s/0.0% 0.0%/0.5s/0.0% 2 42.6%/0.2s/0.0% 86.5%/6.0s/0.0% 118.2%/1090.5s/0.0% 101.1%/2530.6s/0.0% 3 43.9%/0.4s/0.0% 117.2%/8.8s/0.0% 148.9%/1168.9s/0.0% 135.2%/2297.8s/0.0% 4 43.9%/0.8s/0.0% 125.4%/16.8s/0.0% 162.2%/3031.6s/0.0% 153.5%/4819.0s/0.0% Table 3.1: Summary of computational results for the best box problem. Each entry corresponds to: the average objective value improvement of the best K-adaptability solution found in the time limit over the best static solution found in the time limit; the improvement is calculated as the ratio of the difference between the objective values of the K-adaptability solution and the static solution to the objective value of the static solution / the average solution time of the solved instances/ the average optimality gap across unsolved cases. the RO solution under the worst case distribution, denoted by z ⋆ RO. Accordingly, we let z ⋆ DRO denote the optimal objective value obtained by optimizing problem (3.13). Table 3.2 summarizes the relative difference between z ⋆ RO and z ⋆ DRO. From the table, we see that the average suboptimality of the RO solution is as high as 40.59%. K N = 10 N = 20 N = 30 N = 40 1 40.59% 13.19% 3.94% 6.54% 2 25.40% 1.60% 1.18% 1.43% 3 20.09% 2.10% 1.52% 0.77% 4 19.65% 1.98% 1.05% 1.75% Table 3.2: Suboptimality of the RO solutions to the best box problem. Each cell represents an average of 20 instances. In each instance, the relative differences are calculated by (z ⋆ DRO − z ⋆ RO) (z ⋆ DRO + z ⋆ RO)/2 . To further assess the performance of the DRO and RO solutions, in Appendix C.1.2, we assess the out-of-sample performance of these solutions. The results show that the DRO solutions, in general, outperform the RO solutions also under non-worst-case distributions. 66 3.5.2 Distributionally Robust R&D Project Portfolio Optimization 3.5.2.1 Problem Description We next perform experiments on several instances of the distributionally robust R&D project portfolio optimization problem – this is a DRO variant of the robust version proposed in [114, 119]. In this problem, there are N projects indexed in the set N = {1, . . . , N}, and the decision-maker decides whether and when to invest in a project. Each project n has an uncertain return ξ r n , and undertaking it incurs an uncertain cost ξ c n . The return and cost of project n can only be observed if we undertake this project. The decision to invest in project n in the first (resp. second) stage is denoted by w r n (resp. yn), n ∈ N . Thus, ξ r n and ξ c n are revealed between the first and second time stage if only w r n = 1. The total budget available across two years is B. A project can be invested in at most once, and only a fraction θ ∈ [0, 1) of the return is obtained for investments made in the second stage. The goal of the decision-maker is to maximize the worst-case expected return. We assume the returns and costs are expressible as ξ r n = (1+Φ⊤ n ζ/2)rn and ξ c n = (1+Ψ⊤ n ζ/2)cn, where rn, cn correspond to the nominal return and cost of project n, respectively, ζ ∈ [−1, 1]M are M risk factors, and the vectors Φn and Ψn ∈ R M collect the loading factors for project n. The support of the distribution of the uncertain parameters is described as follows Ξ = n (ξ r , ξ c ) ∈ R 2N : ∃ζ ∈ [−1, 1]M : ξ r n = 1 + Φ⊤ n ζ/2 rn, ξc n = 1 + Ψ⊤ n ζ/2 cn, n ∈ N } . We define ξ = (ξ r , ξ c ), µ = (r, c), and use the following ambiguity set for the uncertain returns and costs PRD = P ∈ M+(R Nξ ) : P(ξ ∈ Ξ) = 1, EP [|ξ − µ|] ≤ 0.15µ, EP h e ⊤ (ξ − µ) i ≤ 0.15N −1/2e ⊤µ) . (3.14) 67 The second set of constraints in the ambiguity set enforces the mean absolute deviation of the individual returns and costs to be bounded. The last constraint imposes an upper bound on the cumulative deviation of the projects’ returns and costs from their expected value. The distributionally robust R&D project portfolio optimization problem can be written as min sup P∈P EP h −ξ r⊤ (w + θy(ξ))i s.t. w = (wr , wr ), wr ∈ {0, 1} N y(ξ) ∈ {0, 1} N ξ c⊤ (wr + y(ξ)) ≤ B wr + y(ξ) ≤ e ∀ξ ∈ Ξ y(ξ) = y(ξ ′ ) ∀ξ, ξ ′ ∈ Ξ : w ◦ ξ = w ◦ ξ ′ . (3.15) 3.5.2.2 Computational Results We run experiments on 80 randomly generated instances of the K-adaptability counterpart of problem (3.15): 20 instances for each N ∈ {5, 10, 15, 20} with risk factors M ∈ {4, 5, 8, 10}, respectively. We draw c uniformly at random from the box [0, 10]N and let r = c/5, B = e ⊤c/2. The risk load factor Φn and Ψn are sampled uniformly at random from the standard simplex. We report the results of solving problem (3.15) by utilizing the monolithic MINLO reformulation and applying the decomposition Algorithm 1 with and without the cuts introduced in Section 3.4.3. In the decomposition Algorithm 1, we set the time limit of evaluating Φ(w) to [300s, 600s, 1200s, 2400s] for problems with size N ∈ {5, 10, 15, 20}. The lower bound value L in Algorithm 1 is found by solving a deterministic problem where the uncertain parameters are fixed to ξ = (r, c). If the subproblem evaluating Φ(w) is not solved to optimality within the time limit, we use the current lower bound of the subproblem to generate a valid integer cut of the form (Copt) and use the upper bound to update the objective value θ ⋆ in step 4. If the main problem is not solved to optimality within the time limit, we report θ ⋆ 68 as the objective value and the current optimal objective value of main problem (Prelax) as the lower bound. Table 3.3 summarizes the computational results across those instances. From the table, we observe that the improved decomposition algorithm achieves optimality or finds better solutions for more instances than the basic decomposition algorithm and solves the monolithic MINLO problem when K is large. Across all instances, the proposed algorithm has a significantly smaller optimality gap which decreases with K. We notice that solving the MINLO problem often results in the inability to obtain a satisfactory or valid lower bound, especially when N ≥ 10. As the number of policies K increases, the number of instances for which the improved decomposition algorithm achieves a better objective value increases. For example, when N = 20, the number of better solutions found by our approach is {0, 13, 19} with K ∈ {2, 3, 4}, respectively. The improvements in the objective value over the static solutions of the improved decomposition algorithm are {18.7%, 21.6%, 23.6%}, whereas the improvements obtained by solving the MINLO problem and using the basic decomposition algorithm are {21.9%, 20.7%, 18.9%} and {0.9%, 4.3%, 5.7%}, respectively. Note that in some settings, MINLO solutions achieve a better objective value in more instances, but the average improvement in the objective value is worse. This discrepancy arises when the MINLO solutions are sometimes significantly suboptimal, thereby reducing the overall average improvement. Finally, in all cases, the improvement in the objective value over the static solutions of the decomposition algorithm increases with the number of policies K. This aligns with the rationale of the K-adaptability approach, where a larger K offers more flexibility for the recourse decisions, leading to a better objective value. However, the trend is not clear in MINLO solutions when N ≥ 10 due to computational difficulties. To study the quality of the solutions obtained by the K-adaptability approximation, we solve a small-sized problem with N = 4 and M = 2, where we are able to solve the problem with the set of the candidate policies containing all possible second-stage decisions. We randomly generated 20 instances, and the average improvement over the static solutions 69 MINLO Decomposition Decomposition with Added Cuts N K Opt(#) Time(s) Gap Better(#) Improvement Opt(#) Time(s) Gap Better(#) Improvement Opt(#) Time(s) Gap Better(#) Improvement 5 2 20 1.6 0.0% 0 17.5% 20 54.3 0.0% 0 17.5% 20 16.0 0.0% 0 17.5% 3 15 912.3 0.03% 0 21.3% 20 435.4 0.0% 0 21.3% 20 239.0 0.0% 0 21.3% 4 0 7200 0.2% 1 22.3% 20 854.8 0.0% 0 22.3% 20 475.0 0.0% 1 22.3% 10 2 19 730.5 - 0 16.9% 0 7200 27.2% 0 20.3% 20 1826.8 0.0% 0 23.1% 3 0 7200 - 2 11.8% 0 7200 30.2% 1 20.7% 0 7200 16.7% 16 26.7% 4 0 7200 - 1 23.8% 0 7200 29.4% 2 21.6% 0 7200 16.5% 16 27.4% 15 2 0 7200 - 18 16.1% 0 7200 32.9% 0 8.4% 0 7200 23.9% 2 20.1% 3 0 7200 - 7 21.5% 0 7200 30.5% 0 12.4% 0 7200 22.2% 13 23.0% 4 0 7200 - 7 20.9% 0 7200 28.8% 0 15.1% 0 7200 21.9% 13 23.2% 20 2 0 7200 - 20 21.9% 0 7200 36.9% 0 0.9% 0 7200 24.5% 0 18.7% 3 0 7200 - 7 20.7% 0 7200 34.8% 0 4.3% 0 7200 22.5% 13 21.6% 4 0 7200 - 1 18.9% 0 7200 33.9% 0 5.7% 0 7200 21.5% 19 23.6% Table 3.3: Summary of computational results of the R&D problem. Decomposition and Decomposition with Added Cuts refer to Algorithm 1 without and with the cuts introduced in Section 3.4.3, respectively. Opt(#) corresponds to the number of instances solved to optimality, Time(s) to the average computational time (in seconds) for instances solved to optimality, and Gap to the average optimality gap for the instances not solved within the time limit. We write ’-’ when no valid lower bound was found. Better(#) denotes the number of instances in each method that achieved a better objective value than the other method. Improvement denotes the average improvement in the objective value of the K-adaptability solution found in the time limit over the static solution found in the time limit. The improvement is calculated as the ratio of the difference between the objective values of the K-adaptability solution and the static solution to the objective value of the static solution. 70 for K = 2, 3, . . . , 6 are 35.0%, 41.82%, 41.92%, 42.06%, 42.06%, respectively. This result shows that, in the small-sized R&D problem, 5 (out of a total of 16) candidate policies are sufficient for the K-adaptability approximation (3.5) to be optimal compared to the original problem (3.4). Next, we examine the suboptimality of the RO solution. We define z ⋆ RO and z ⋆ DRO as in Section 3.5.1.2. The relative differences between z ⋆ RO and z ⋆ DRO are summarized in Table 3.4. From the table, we see that the average suboptimality of the RO solution among all instances K N = 5 N = 10 N = 15 N = 20 1 0.37% 1.60% 3.24% 2.08% 2 17.33% 23.03% 20.37% 19.61% 3 14.62% 19.15% 17.65% 18.33% 4 15.05% 11.25% 7.81% 8.73% Table 3.4: Suboptimality of RO solution to the R&D problem. Each cell represents an average of 20 instances. In each instance, the relative differences are calculated by (z ∗ DRO − z ∗ RO) (z ∗ DRO + z ∗ RO)/2 . is up to 23.03%, which shows the importance of incorporating distributional information in the uncertainty set. To further assess the performance of the DRO and RO solutions, in Appendix C.2.2, we assess the out-of-sample performance of these solutions. The results show that the DRO approach, in general, performs better than RO on non-worst-case distributions. 71 Chapter 4 Robust Optimization for Preserving Biodiversity Abstract Human development threatens biodiversity, and conservation organizations (COs) are purchasing land to protect vulnerable areas. However, COs have limited budgets, typically received progressively over time, making it crucial to decide where to implement conservation actions to prevent biodiversity loss. Additionally, unprotected areas are at risk of development due to uncertain and unpredictable human activities. The distribution of this development uncertainty can only be estimated from sparse data. To overcome this, we propose a multi-stage decision-dependent robust optimization model. To solve this problem, we decompose the multi-stage problem into single-stage problems using a rolling horizon approach and present a conservative reformulation of the problem with only exogenous and objective uncertainty. We then develop an efficient cut-generation algorithm to solve the single-stage robust optimization problem and a conservative approximation that can be solved efficiently with off-the-shelf solvers. We demonstrate both the efficiency of the exact method and the quality of the solution to the approximation. A case study on biodiversity conservation in Latin America is conducted, with the uncertainty set calibrated based on development risk, 72 which is determined by the quantity of natural resources. The numerical results based on real data show that the proposed method can effectively reduce the worst-case conservation loss compared to standard approaches commonly used in biodiversity conservation practice and maintain good connectivity. 4.1 Introduction 4.1.1 Background and Motivation Biodiversity, referring to the variety of species, ecosystems, and habitats on earth, is essential to human survival as it provides food, clean drinking water, and economic stability. Unfortunately, it faces serious threats from human activities, such as deforestation, urban expansion [120], and pollution caused by fossil fuel use [121]. The disappearance of animals, plants, and their habitats has led to a concerning rate of species extinction — about 46,300 of the 121,800 assessed species are currently threatened with extinction, according to the International Union for Conservation of Nature [122]. In response, government agencies and nonprofit organizations, such as Panthera, have worked to protect land worldwide from human degradation to preserve biodiversity. A key strategy involves purchasing or leasing land parcels to establish a network of protected natural areas that conserve ecosystems [123]. However, limited resources for conservation make it a challenge to identify which parcels should be prioritized for protection. The above emphasizes the need for decision-support tools that can assist in designing budget-constrained, interconnected networks of habitat reserves. Mathematical optimization has become an essential approach in biodiversity conservation to support decision-making in conservation planning [124, 125, 126]. A common objective is to maximize protected habitat value within a fixed budget, regardless of potential human degradation. The problem is then modeled as a single-stage optimization problem [127, 128, 129, 130]. However, a conservation planning problem usually involves long-term planning, and the budget is usually not 73 made available immediately as a lump sum. Instead, funding is often received progressively over time. This means that conservation planning must consider both ecological and economic factors from the start to meet the intended long-term conservation targets [131, 132]. Since not all land parcels can be protected from the onset, unprotected parcels face risks of human degradation, including conversion to agriculture, urban expansion, deforestation, and infrastructure development. This, in turn, can interfere with the implementation of the conservation plans that fail to account for these uncertainties, potentially rendering them suboptimal or even infeasible [133]. Effective conservation planning tools, therefore, must meet several key criteria. First, they must be capable of modeling the uncertainty and be robust to them. Despite the data being scarce and noisy, any available information should be leveraged to help build more accurate models of uncertainty. Given the vast number of uncertainties that influence the optimality and feasibility of conservation decisions, it is essential to guarantee the robustness of the conservation plans even in adverse circumstances. Indeed, conservation policies that overlook these uncertainties risk causing irreversible harm to ecosystems. Second, the tools should be adaptive to changes in human land use and habitat conditions. With uncertainties in human land use, animal distributions, and habitat qualities, conservation decisions must adaptively protect key parcels to preserve biodiversity effectively. Finally, these tools need to be scalable to address large-scale conservation challenges. Real-world problems span extensive time horizons, over large areas of land, and under combinatorially many land use scenarios, which makes it crucial to develop scalable, efficient solutions that yield implementable conservation plans and preserve connectivity across protected areas. Motivated by the desiderata outlined above, we leverage the modeling power of multistage decision-dependent robust optimization to solve the biodiversity conservation planning problem. Driven by data, our model has the capability to capture the uncertainty in a less conservative way, ensures robustness against adverse circumstances, and adapts to the uncertainty in human land use. In the next section, we review relevant literature to position 74 our work in the context of biodiversity conservation and robust optimization. 4.1.2 Literature Review Mathematical optimization has a long history in biodiversity conservation and reserve selection. Most of the literature models biodiversity conservation as a single-stage optimization problem, focusing on maximizing covered biodiversity value, e.g., [134, 128, 135, 136, 129, 130], and/or enhancing connectivity and compactness of the selected reserves, e.g., [137, 126, 138]. These approaches, however, often overlook the fact that funding is typically received progressively over time, and unprotected lands face development risks from uncertain human activities, potentially reducing biodiversity value. While some studies address the dynamic nature of conservation planning, e.g., [139, 140, 141, 142, 143], they either neglect the risk of human-driven degradation or handle it in a risk-neutral way, which does not guarantee solution robustness. Our proposed method fills this gap by formulating the problem as a multistage robust optimization with decision-dependent uncertainty, providing protection solutions against worst-case biodiversity losses due to uncertain human impacts. Multi-stage robust optimization problems are typically very challenging, as they are NPhard even with only two stages and continuous recourse decisions [144]. In the literature, there are two main approaches to solving such problems: designing effective approximation schemes or solving them exactly using decomposition. For the first approach,[145, 65, 66] propose decision rule schemes generalized from continuous problems, while [146, 147, 148] design solution methods based on uncertainty set partitioning works for both continuous and discrete decisions. For the second approach,[149, 148] leverage the decomposable nature of these problems to develop exact solutions, where the first one is designed for continuous decisions and the second one can handle both continuous and discrete decision variables. We refer readers to [148] for a comprehensive review of the literature on multi-stage robust optimization. However, none of these works address endogenous uncertainty, which is essential to the biodiversity conservation problem. 75 Endogenous uncertainty is originally proposed in [70]. There is relatively sparse literature addressing multi-stage optimization with endogenous uncertainty. [97] consider a multistage stochastic programming problem with decision-dependent information discovery and propose an approximation scheme based on uncertainty set partitioning. [114] consider a twoand multi-stage robust optimization with the same type of uncertainty and solve it with the K-adaptability approach. [35] address a multistage robust process scheduling problem with endogenous uncertainty, but only the first-stage decision can affect the uncertainty set. [150] derive a tractable approximation of the multi-stage mixed-integer endogenous robust optimization with polyhedral uncertainty sets and leverage nonlinear decision rules to approximate it. In our conservation planning problem, both the decisions and the uncertainties are binary, and all these methods only deal with convex uncertainty sets and are not scalable to high-dimension problems. 4.1.3 Proposed Approach and Contributions In this paper, we present a multi-stage decision-dependent robust conservation planning model for biodiversity conservation planning problems. We design a solution approach to break down and solve the multi-stage decision-dependent robust optimization problem and provide a tighter bound of approximation solutions. To showcase the effectiveness of the proposed model, we collaborate with Panthera, which is a non-profit organization devoted to the conservation of wild cat species, and perform a case study of biodiversity conservation in Latin America. The numerical results evaluated by real data demonstrate competitive performance compared to the benchmarks. 4.1.4 Organization of the Paper and Notation The remainder of the paper is organized as follows. In Section 4.2, we present a multi-stage decision-dependent robust conservation planning model and its conservative approximation and also discuss a solution approach that breaks down the multistage problem into single76 stage problems. In Section 4.3, we present an algorithm to solve the single-stage problem. In section 4.4 and 4.5 we show the computational efficiency of the proposed solution approach, and apply the model to a case study in Latin America and evaluate the performance of the proposed model and its benchmarks. All the proofs are deferred to the appendix. Notation. Throughout this paper, vectors (matrices) are denoted by boldface lowercase (uppercase) letters. The k-th element of a vector x ∈ R n (k ≤ n) is denoted by xk. Scalars are denoted by lowercase letters, e.g., α or u. The space of all measurable functions from R n to R m is denoted by L n m. 4.2 Multi-Stage Robust Optimization for Conservation Planning In this section, we present the multi-stage robust conservation planning model [151]. To minimize the worst-case biodiversity loss due to human impact, at each stage, the conservation planner selects parcels to protect and exclude from those available for development. We first present the multistage robust optimization model and a conservative approximation, then discuss a rolling horizon algorithm, which treats each stage as the final stage, as a solution approach to solve the multistage robust optimization problem. 4.2.1 The model We consider the challenge faced by a conservation planner, such as Panthera, in protecting a site consisting of |I| land parcels indexed in the set I, over the finite planning horizon T := {1, . . . , T}. The length of the planning horizon in the model primarily depends on the conservation planner’s ability to forecast future budget streams. In addition, each time stage may span various durations, e.g., 1, 5, or 10 years, based on the conservation plan. At the beginning of each period t ∈ T , the conservation planner is allocated a conservation budget b t ∈ R+ to purchase land and protect it. We let ci ∈ R+ denote the cost of including 77 parcel i in the reserve (usually corresponding to the purchasing cost). Each parcel i has a conservation value vi ∈ R+, which encodes its genetic and ecological richness and is assumed to be known and fixed. The conservation value v and the protection cost c are the same across the time horizon. Between consecutive periods, each land parcel risks becoming developed (i.e., being lost to human degradation), in which case its conservation value vanishes. We let ξ t i ∈ {0, 1} represent the status of land parcel i at time t. Thus, ξ t i = 1 if and only if land parcel i has been developed on or before time t. We model the uncertain parameters ξ as lies within an uncertainty set Ξ(x), which is influenced by the conservation decisions. The set U is the uncertainty set for human development, where γ t i ∈ R represents the ”cost” of developing parcel i at stage t, and Γt ∈ R+ denotes the total allowable uncertainty budget at that stage. The value of Γt is used to tune the size of the uncertainty set and hence the level of robustness. In addition, we require that all the developed parcel at stage t remain developed at t + 1, which is captured in the uncertainty set U. We denote the decision variable at each time stage as x t i ∈ {0, 1}, which equals 1 if and only if the land parcel i has been protected on or before time t. We require that the protected parcels at stage t remain protected at stage t + 1. The decision x t is made after observing {ξ τ}τ<t and before {ξ τ}τ≥t are materialized. We model x as a function that maps the historical information to binary decisions. The multistage robust optimization problem 78 for conservation planning is as minimize maximize ξ∈Ξ(x) X i∈I viξ T i subject to x ∈ L|I|×|T | |I|×|T | x t (ξ) = x t (ξ ′ ) ∀ξ, ξ ′ ∈ Ξ(x), ξ t−1 = ξ ′t−1 X i∈I ci [x t i (ξ) − x t−1 i (ξ)] ≤ b t x t i (ξ) − x t−1 i (ξ) ≤ 1 − ξ t−1 i x t i (ξ) ≥ x t−1 i (ξ) x t i (ξ) ∈ {0, 1} ∀i ∈ I ∀t ∈ T , ξ ∈ Ξ(x) (4.1) where the decision-dependent uncertainty set is expressible as Ξ(x) = n ξ ∈ U : ξ t i ≤ 1 − x t i (ξ) ∀i ∈ I, t ∈ T o , (4.2) where U = ξ ∈ {0, 1} |I|×|T | : ξ t i ≥ ξ t−1 i ∀i ∈ I, t ∈ T X i∈I γ t i (ξ t i − ξ t−1 i ) ≤ Γ t ∀t ∈ T , (4.3) and x 0 = 0 |I| and ξ 0 = 0 |I| . The objective function of the problem (4.2) corresponds to the worst-case loss in conservation value achieved by an adaptive conservation strategy x when “nature” can select parcels to develop from those parcels that are not yet protected. The first constraint is the non-anticipativity constraint, where the decision x t should only depend on ξ t−1 . The second constraint corresponds to a budget constraint. The third constraint stipulates that if a parcel has already been lost to human degradation, it can no longer be introduced in the reserve. The fourth constraint captures the requirement that if a parcel i is protected at time t ∈ T , 79 then it remains protected at time t + 1. The uncertainty set (4.2) is a decision-dependent uncertainty set, stating that the protected parcel can not be developed. We enforce ξ t to be non-decreasing throughout the time and have a budget constraint at each stage. We will discuss the calibration of the uncertainty set in section 4.4.2. 4.2.2 Conservative Reformulation Problem (4.1) is a multi-stage robust optimization problem with endogenous and constraint uncertainty, which poses a challenge in solving it directly, even for a single stage. [151] provides a conservative reformulation in which the uncertainty set is independent of the solution x, and the uncertainty only appears in the objective function. Theorem 6. The robust biodiversity conservation Problem (4.1) is equivalent to Problem (4.4) if γ ≥ 0 in the uncertainty set (4.3). Problem (4.4) is a conservative approximation of Problem (4.1) for a general uncertainty set U. minimize sup ξ∈U X i∈I vi X t∈T [ξ t i − ξ t−1 i ] 1 − x t i (ξ) subject to x ∈ L|I|×|T | |I|×|T | x t (ξ) = x t (ξ ′ ) ∀ξ, ξ ′ ∈ Ξ(x), ξ t−1 = ξ ′t−1 X i∈I ci [x t i (ξ) − x t−1 i (ξ)] ≤ b t x t i (ξ) ≥ x t−1 i (ξ) x t i (ξ) ∈ {0, 1} ∀i ∈ I ∀t ∈ T , ξ ∈ U. (4.4) Since Ξ(x) ⊆ U, it’s trivial to see that Problem (4.4) is a conservative approximation of Problem (4.1). If the condition γ ≥ 0 in Theorem 6 holds, Problem (4.4) is an equivalent reformulation as the second term in the product in the objective function makes the inner maximization problem can gain nothing by developing parcels that are already protected. 80 However, the equivalence does not hold without this assumption. 4.2.3 The Rolling Horizon Algorithm The problem (4.4) is a multi-stage robust optimization problem with binary decision variables and binary uncertainties. Due to the sensitivity of the decision to the uncertain parameter and the potential large size of the problem, we propose to solve the problem (4.4) in a rolling horizon fashion. Given the solution and scenario from previous stages, the rolling horizon algorithm solves each stage as a single-stage problem as if it’s the last stage. Let x¯ t−1 and ¯ξ t−1 denote the solution and scenario that occurred at stage t−1. At stage t, we solve the following problem minimize maximize ξ t∈Ut(ξ¯t−1) X i∈I vi(ξ t i − ¯ξ t−1 i )(1 − x t i ) subject to X i∈I ci(x t i − x¯ t−1 i ) ≤ b t x t i ≥ x¯ t−1 i x t i ∈ {0, 1} ∀i ∈ I, (4.5) where U t ( ¯ξ t−1 ) = ξ t ∈ {0, 1} |I| : ξ t i ≥ ¯ξ t−1 i ∀i ∈ I X i∈I γ t i (ξ t i − ¯ξ t−1 i ) ≤ Γ t (4.6) Let the set I t = I \ {i ∈ I : ¯x t−1 i = 1 or ¯ξ t−1 i = 1} denote the indices of parcels that have 81 not been developed or protected by stage t. Solving the above problem is equivalent to solve minimize maximize ξ t∈Ut P i∈It viξ t i (1 − x t i ) subject to X i∈It cix t i ≤ b t x t i ∈ {0, 1}, ∀i ∈ It , (4.7) where U t = ξ t ∈ {0, 1} |It | : X i∈It γ t i ξ t i ≤ Γ t , (4.8) and the total loss value after the final stage is evaluated as P t∈T P i∈It vi ¯ξ t i . The problem (4.7) is a robust optimization problem involving both integer decisions and integer uncertainties. It can be viewed as a knapsack problem with interdiction constraints, where the solution x t selects parcels to prevent them from being chosen by the inner maximization decision ξ t , thereby minimizing the total value achieved by the inner maximization. Several studies [152, 153, 154] have discussed the computational difficulty and developed solution approaches for this type of problem; however, they typically assume integer parameters throughout, particularly in the inner maximization. To address this limitation, in the next section, we propose a novel constraint generation algorithm that demonstrates strong computational performance. 4.3 Solving the Single-Stage Problem In this section, we propose a constraint generation algorithm to solve the single-stage problem (4.7). The section is organized as follows: we first describe a general constraint generation algorithm in section 4.3.1. We then discuss a lower-bound problem that serves as an enhanced master problem in section 4.3.2. Finally, in section 4.3.3, we present the complete algorithm along with proof of its correctness and finite convergence. 82 Throughout this section, we suppress the superscript t in the formulation for ease of notation. Denoting the feasible region of x as X , we consider the following equivalent epigraph formulation of problem (4.7) minimize x∈X, η∈R maximize η subject to η ≥ X i∈I viξi(1 − xi) X i∈I γiξi ≤ Γ ξi ∈ {0, 1} ∀i ∈ I. (4.9) 4.3.1 The Constraint Generation Algorithm A constraint generation algorithm starts with a relaxation problem containing only a subset of the constraint. It then iteratively solves the master problem, checks for violations of the omitted constraints by solving a separation problem, and adds the constraints back into the model. We first introduce the following problem as the master problem in the constraint generation algorithm, which serves as a relaxation of (4.9). minimize x∈X η subject to η ≥ X i∈I vi(1 − xi) ¯ξi ∀ ¯ξ ∈ U¯, (4.10) where U ⊆ U ¯ . For any given solution (¯η, x¯) obtained from the master problem (4.10), we find the violated constraint by solving the following corresponding inner maximization problem as the 83 separation problem Φ(x¯) = maximize X i∈I viξi(1 − x¯i) subject to X i∈I γiξi ≤ Γ ξi ∈ {0, 1} ∀i ∈ I. (4.11) Denote the optimal solution to the above problem as ¯ξ, if there is a violated constraint, e.g. Φ(x¯) > η¯, we add the cut η ≥ X i∈I vi(1 − xi) ¯ξi (4.12) to the master problem (4.10). The cut (4.12) is both valid and tight, as all feasible solution (¯η, x¯) to problem (4.9) satisfy the constraint (4.12), and the equality holds for (Φ(x¯), x¯) if ¯ξ is the optimal solution to the separation problem (4.11) fixing x¯. Theorem 7. The cut (4.12) is valid and tight for problem (4.9). We now present the constraint generation algorithm to solve the robust knapsack problem (4.9) as follows Algorithm 4: Cut Generation Algorithm for Solving Problem (4.9) Output: Optimal solution x ⋆ , and optimal objective value η ⋆ . Initialization: Set η ⋆ ← +∞, x ⋆ ← ∅, U ← ∅ ¯ . 1. Solve problem (4.10), let (x¯, η¯) be the optimal solution. If ¯η ≥ η ⋆ , stop. 2. Solve the inner maximization problem (4.11), let ¯ξ denote the optimal solution. 3. Set U ←¯ U¯ S { ¯ξ}, if Φ(x¯) < η⋆ , set x ⋆ ← x¯, η ⋆ ← Φ(x¯). Go to step 1. Result: Report x ⋆ and η ⋆ . We omit the proof that Algorithm 4 finds the optimal solution and objective value for problem (4.9) and has finite convergence, as it is fairly straightforward. Although Algorithm 4 is guaranteed to solve the problem optimally and converge in finite time, the gradient information provided by the added cuts is limited. This limitation arises because the optimal solution of the inner maximization problem is highly sensitive to the outer minimization problem, which makes it difficult to discover high-quality solutions and converge. To address 84 this, we derive a tighter lower bound for problem (4.9) and conduct the constraint generation process based on this new lower bound problem. 4.3.2 A Lower Bound Problem We now present a lower bound problem whose objective value, given the same solution x¯, is always less than or equal to that of problem (4.9). Before describing the lower bound problem, without loss of generality, we first make the following assumptions. Assumption 1. We assume that the items are sorted in the order of the value-cost ratio of the inner maximization problem. In case that some of the items having negative cost, we sort them in any order but before those having positive cost, e.g. vi+1 γi+1 ≥ vi+2 γi+2 ≥ . . . . . . v|I| γ|I| , and γj ≤ 0, j = 1, 2, . . . , i − 1. Assumption 2. We assume that γi ≤ Γ − P i∈I,γi<0 γi , ∀i ∈ I; otherwise, we can exclude the corresponding decision variables from the problem. Theorem 8. The problem (4.13) is a lower bound problem to (4.9) in the sense that, given any feasible solution x¯ to (4.9), it’s also feasible in the problem (4.13), and the corresponding optimal objective value, denoted as η(x¯) is less than or equal to Φ(x¯), which is the true 85 objective value of (4.9) fixing x¯. minimize η (4.13a) subject to η ≥ X i∈I viξi (4.13b) X i∈I cixi ≤ b (4.13c) ξi ≤ 1 − xi ∀i ∈ I (4.13d) X i∈I γiξi ≤ Γ (4.13e) |I| X +1 i=1 ζi = 1 (4.13f) X j 1 pi + ϵ otherwise, (4.22) where ϵ ∼Uniform(-0.05,0.05). 96 0.1 0.3 0.5 0.7 0.8 0.9 -4,000 -2,000 0 2,000 4,000 6,000 Difference in the Worst-Case Jaguar Loss between SP and RO 0.1 0.3 0.5 0.7 0.8 0.9 4000 2000 0 2000 4000 6000 Difference in the Worst-Case Jaguar Loss between MARXAN and RO Expected risk Unexpected risk Figure 4.2: Performance of the robust approach compared to its benchmarks under different λs for both expected risk and unexpected risk. In this experiment, we consider T = 10, b = 3%C and ρ = 0.05. In Figure 4.2, each box plot represents the differences in the worst-case loss at the end of the time horizon across 100 simulation paths between the benchmark method and the proposed method. The left figure shows the results comparing the proposed method with SP, and the right figure shows the results comparing it with MARXAN. The blue box represents the results for expected risk, and the green box represents the results for the unexpected case. From the figure, we can see that, for both the expected risk and unexpected risk cases, in the worst case, with an appropriate choice of λ, the robust approach can save more jaguars than SP and MARXAN. Across all choices of λ, the value 0.7 gives the best performance, and we set this as the default in the rest of the experiments. The robust approach generally has greater advantages over MARXAN than SP because MARXAN does not consider uncertain human behavior at all. The proposed approach outperforms SP because SP treats uncertainty in a risk-neutral way, making it not robust to extreme circumstances. When λ is small, the performance of the robust approach converges to MARXAN since if all scenarios are contained within the uncertainty set, the conservation value and cost of the parcels are the only factors that matter. With an appropriate choice of λ, the amount of outperformance of the proposed approach compared to SP is similar under both expected and unexpected 97 1 2 3 4 5 6 7 8 9 10 t -3,000 -2,000 -1,000 0 1,000 2,000 3,000 4,000 5,000 6,000 Difference in the Worst-Case Jaguar Loss between Benchmark Approach and RO 1 2 3 4 5 6 7 8 9 10 b 0.01 0.03 0.05 0.075 0.1 Benchmark Approach SP MARXAN Figure 4.3: Performance of the robust approach compared to its benchmarks. In the left figure, we vary the stages and set b = 3%C, λ = 0.7, ρ = 0.05. In the middle figure, we vary the budgets and set t = 10, λ = 0.7, ρ = 0.05. In the right figure, we vary ρs and set b = 3%C, t = 10, λ = 0.7. risks since both approaches use the estimated probability in their optimization models. However, since MARXAN has the highest level of robustness, the robust approach cannot achieve the same level of improvement over MARXAN under unexpected scenarios as it does under expected risk scenarios. We also examine the performance of the proposed method using different time stages t, budget b, and the parameter ρ controls the development probability of each parcel. In these sets of experiments, as we mentioned above, we choose λ = 0.7 at each time stage as it gives the best performance. The results are presented in the figure 4.3. In Figure 4.3, each box plot also represents the differences in the worst-case loss at the end of the time horizon across 100 simulation paths between the benchmark method and the proposed method. The first plot in Figure 4.3 shows that the proposed robust approach consistently outperforms MARXAN across all time stages. It also starts to show benefits in terms of reduced jaguar loss compared to SP from the fifth stage onward. For both benchmarks, the performance advantage of the proposed approach accumulates over time. This is because, in the early stages, with limited budgets, MARXAN focuses on parcels with high value and low cost, while both SP and the robust approach prioritize parcels with high 98 value, high risk, and low cost. As the stages progress and the budget increases, the decisions made by different approaches become more distinguishable. In the second figure, we compare the performance of the proposed approach against the benchmarks under different budgets per stage from 1%C to 10%C. In this experiment, we set the number of the time stages as 10 and show the difference in the jaguar loss at the final stage. We can observe that as the budget increases, the performance difference between the robust approach and its benchmarks initially widens and subsequently narrows. This initial widening happens because, with a larger budget, the differences in parcel protection strategies are more noticeable. However, as the budget keeps increasing, fewer unprotected and undeveloped parcels remain in the pool at later stages, so the performance differences decrease. The third figure shows the performance across five different values of ρ. As ρ increases, indicating a higher development risk, the proposed approach demonstrates a consistent improvement relative to SP. This is because the proposed approach treats development risks in a risk-averse manner, becoming more effective as the likelihood of parcel development rises. Compared to MARXAN, when ρ is very small, parcel risks are similar, making value and cost the dominant factors and leading to comparable performance between MARXAN and the robust approach. However, as ρ increases, risk becomes a more influential factor. With further increases in ρ, the likelihood that unprotected and undeveloped parcels will be developed also rises. Since MARXAN is the most robust approach, the performance difference between it and the robust approach eventually diminishes. The Connectivity. Connectivity is an important metric for evaluating the quality of a conservation plan, as it supports species migration and dispersal across habitats, enhancing genetic diversity and resilience to environmental changes. We calculate the percentage of times each parcel is protected at the final stage in the simulation, the results for MARXAN, SP, and RO with λ = 0.7 is presented in figure 4.4. From figure 4.4, we can observe that parcels protected by MARXAN have a more con99 Proportion of Parcels Protected 0.0 1.0 0.5 0.25 0.75 (a) MARXAN Proportion of Parcels Protected 0.0 1.0 0.5 0.25 0.75 (b) SP Proportion of Parcels Protected 0.0 1.0 0.5 0.25 0.75 (c) RO, λ = 0.7 Figure 4.4: Average protection proportion. Here we consider t = 10, b = 3%C, ρ = 0.05. 100 centrated distribution. Comparing this solution map to Figure 4.1, we see that MARXAN prioritizes parcels with high value and low cost, leading to high connectivity through this concentration. Parcels protected by SP are more dispersed; while SP’s strategy may reduce jaguar loss, its lack of connectivity results in an unsatisfactory conservation plan. The distribution of protected parcels under the robust approach resembles that of MARXAN but is slightly more dispersed. This approach not only saves more jaguars from human impact compared to the benchmarks but also achieves comparable connectivity performance. In Figure 4.5, we show the connectivity of protected parcels at each stage across different approaches. We calculate connectivity using the method described in [162], where connectivity is defined as the ratio of the number of shared boundaries to the number of protected parcels. The numerator indicates the extent of parcel connectivity, while the denominator serves as a normalization factor. Connectivity values range from 0 to 2, where 0 represents no connected parcels, and 2 indicates perfect connectivity. 1 2 3 4 5 6 7 8 9 10 t 0.15 0.20 0.25 0.30 0.35 0.40 0.45 Connectivity MARXAN RO, =0.1 RO, =0.3 RO, =0.5 RO, =0.7 RO, =0.8 RO, =0.9 SP Figure 4.5: Connectivity of the protected parcels. In this experiment, we consider the setting where b = 3%C, ρ = 0.05 From plot 4.5, we can see that MARXAN has the highest connectivity across all stages, while SP performs the worst. The robust approach’s performance falls between MARXAN and SP, and when λ is smaller, it is closer to MARXAN. As the stages progress and more 101 parcels are protected, the differences between the approaches in terms of parcel selection decrease, leading to smaller differences in connectivity among the approaches. As seen in the previous results, MARXAN achieves the highest connectivity but also incurs the greatest jaguar loss, while the robust approach has the lowest jaguar loss with slightly less connectivity among protected parcels. To illustrate the trade-off between jaguar loss and parcel connectivity, Figure 4.6 presents the Pareto frontier between jaguar loss and connectivity for SP, MARXAN, and the robust approach at varying levels of robustness. 0.25 0.26 0.27 0.28 0.29 0.30 0.31 Connectivity 61,500 62,000 62,500 63,000 63,500 64,000 64,500 65,000 Number of Jaguars Lost to Human Development MARXAN RO, =0.1 RO, =0.3 RO, =0.5 RO, =0.7 RO, =0.8 RO, =0.9 SP Figure 4.6: Trade-off between the jaguar loss and compactness.In this experiment, we consider the setting where t = 10, b = 3%C, ρ = 0.05 From Figure 4.6, we observe that as λ increases from 0.1 to 0.8, the robust approach results in lower connectivity but also reduces jaguar loss. However, if λ continues to increase beyond 0.8, connectivity further decreases, and jaguar loss begins to worsen. Therefore, based on this figure, a conservation planner might choose either MARXAN or the robust approach with λ in the range [0.1, 0.8], as these options lie on the Pareto frontier. 102 Size λ Naive Constraint Generation Algorithm 4 Improved Constraint Generation Algorithm 5 Opt(#) Gap Time(s) Node Explored(#) Opt(#) Gap Time(s) Node Explored(#) Improvement 25 0.1 20 0.0% 18.6 1376 20 0.0% 0.1 5 0.0% 0.3 20 0.0% 27.0 967 20 0.0% 1.1 36 0.0% 0.5 20 0.0% 8.5 237 20 0.0% 1.9 34 0.0% 0.7 20 0.0% 1.6 78 20 0.0% 1.0 28 0.0% 0.8 20 0.0% 0.2 34 20 0.0% 0.4 22 0.0% 0.9 20 0.0% 0.1 15 20 0.0% 0.0 10 0.0% 50 0.1 3 10.2% 65.8 14340 20 0.0% 719.2 6 0.3% 0.3 2 13.2% 105.8 9836 17 1.0% 179.9 4655 0.5% 0.5 4 11.3% 881.6 10583 16 1.2% 85.4 4321 0.4% 0.7 16 5.5% 456.6 6232 19 1.5% 170.2 2668 0.1% 0.8 20 0.0% 97.9 1042 20 0.0% 5.8 546 0.0% 0.9 20 0.0% 1.2 74 20 0.0% 2.9 68 0.0% 75 0.1 1 15.5% 1382.3 13955 20 0.0% 295.3 15 0.8% 0.3 1 25.0% 1127.2 9969 10 0.9% 189.1 8302 1.1% 0.5 1 26.9% 512.1 10063 6 2.2% 354.4 10359 0.7% 0.7 1 22.2% 112.8 10182 7 2.9% 922.4 10215 0.7% 0.8 5 10.3% 668.1 9271 17 3.7% 803.0 6237 0.5% 0.9 20 0.0% 57.3 595 20 0.0% 5.8 355 0.0% 100 0.1 5 21.8% 73.6 12555 20 0.0% 0.2 6 1.6% 0.3 4 33.1% 174.3 7947 12 1.5% 1.1 3498 1.4% 0.5 4 38.3% 475.5 7198 9 2.7% 253.2 5711 1.6% 0.7 4 39.6% 299.2 7376 8 5.3% 65.7 6306 0.8% 0.8 5 35.4% 709.4 8146 8 7.5% 152.0 6707 0.3% 0.9 16 4.0% 1104.9 4316 20 0.0% 726.6 2665 0.0% 300 0.1 0 22.8% 3600.0 6212 19 0.1% 1.4 334 3.8% 0.3 0 39.2% 3600.0 4097 8 0.6% 24.1 3644 3.0% 0.5 0 49.4% 3600.0 3806 5 1.4% 4.0 4280 4.7% 0.7 0 59.4% 3600.0 3631 3 3.7% 3.6 5378 3.1% 0.8 0 65.7% 3600.0 4086 3 5.0% 408.1 5265 5.6% 0.9 0 66.6% 3600.0 4731 1 9.4% 741.0 5941 5.7% 500 0.1 0 25.2% 3600.0 3386 20 0.0% 8.5 55 3.9% 0.3 0 44.6% 3600.0 2550 9 0.6% 271.9 2582 7.3% 0.5 0 55.8% 3600.0 2505 5 1.8% 3.0 3450 9.1% 0.7 0 67.6% 3600.0 2764 4 3.3% 17.1 3569 6.3% 0.8 0 75.4% 3600.0 2813 1 3.8% 10.3 5385 5.8% 0.9 0 81.4% 3600.0 3337 1 7.8% 1196.9 5337 9.9% 600 0.1 0 20.2% 3600.0 2965 18 0.1% 52.7 371 1.7% 0.3 0 37.4% 3600.0 1740 6 1.1% 3.9 1929 3.0% 0.5 0 49.8% 3600.0 1643 4 1.6% 5.4 2802 6.4% 0.7 0 63.4% 3600.0 1721 1 4.0% 669.0 3660 3.6% 0.8 0 71.4% 3600.0 2322 0 4.0% 3600.0 3940 3.8% 0.9 0 78.9% 3600.0 2890 0 9.0% 3600.0 3768 3.1% Table 4.1: Summary of computational results. Opt(#) corresponds to the number of instances solved to optimality, Gap to the average optimality gap of the instances not solved to optimality, and Time(s) to the average computational time (in seconds) of the instances solved to optimality. Node Explored(#) denotes the average number of separation problem solved or cuts added to the master problem. 103 Time(s) of Using the Algorithm 5 Time(s) of Solving the Approximation (4.16) Size/λ 0.1 0.3 0.5 0.7 0.8 0.9 0.1 0.3 0.5 0.7 0.8 0.9 25 0.1 1.1 1.9 1.0 0.4 0.0 0.0 0.1 0.1 0.0 0.0 0.0 50 0.1 719.2 816.3 346.6 58.8 2.9 0.1 1.0 0.3 0.3 0.2 0.1 75 1.3 1980.1 2674.1 2734.4 1231.7 41.6 0.2 12.6 2.5 0.5 0.4 0.2 100 0.2 1460.6 2118.9 2204.0 2245.3 726.6 0.1 635.0 9.6 1.5 0.5 0.2 300 2.0 2191.7 2735.5 3093.2 3173.3 3507.9 2.0 1927.7 1878.2 1298.7 311.0 9.2 500 8.3 2112.0 2740.5 2960.6 3465.9 3511.4 281.6 2480.9 2564.1 2880.9 2814.5 926.6 600 409.6 2532.5 2893.7 3488.1 3600.0 3600.0 734.0 2523.3 2759.8 3089.5 2883.2 1341.9 Table 4.2: Computational time of using the constraint generation algorithm 5 and solving the approximation problem (4.16). In each column, Time(s) corresponds to the average computational time (in seconds) of all instances. Gap between the Solutions Size/λ 0.1 0.3 0.5 0.7 0.8 0.9 25 0.0% 0.4% 0.5% 4.2% 10.2% 148.1% 50 0.0% 0.2% 0.3% 1.0% 1.2% 13.3% 75 0.0% 0.1% 0.1% 0.3% 0.5% 4.7% 100 0.0% 0.0% 0.0% 0.0% 0.1% 0.2% 300 0.0% 0.0% -0.1% -0.1% -0.4% -0.4% 500 0.0% 0.0% -0.7% -2.1% -1.0% -0.7% 600 0.0% -0.5% -0.7% -2.9% -1.5% -4.4% Table 4.3: Gap between the solutions given by solving the problem exactly using Algorithm 5 and solving the approximation problem (4.16). Gap denotes the average gap across all instances. 104 Chapter 5 Conclusion and Future Work The first part of this thesis primarily addresses two- and multi-stage robust optimization problems with endogenous (decision-dependent) uncertain parameters. The contributions of this work are threefold. First, it presents a C ++ based platform for automatic robust optimization that supports a wide range of single- and multi-stage robust problems with both exogenous and endogenous uncertain parameters. The platform is user-friendly and easily extendable. Second, it proposes a framework and solution approach for two-stage distributionally robust optimization problems with decision-dependent information discovery. Finally, it examines a multi-stage conservation planning model and develops a decomposition algorithm to solve the problem approximately. In addition to these contributions, this thesis highlights several limitations of the models and algorithms, and suggests future research directions. The current ROC ++platform only supports the approximation and solution of adaptive robust optimization problems. As distributionally robust optimization continues to gain significant attention, extending the platform to support DRO would be a valuable improvement and promising future direction. This would involve defining a new model class incorporating the decision maker’s distributional information about the uncertain parameters. Additionally, new classes, derived from the ReformulationStrategyIF interface, would be required to implement approximation schemes or exact solution approaches for DRO. The platform’s flexibility and extendability make these enhancements feasible. 105 The second part focuses on a two-stage DRO problem with decision-dependent information discovery, and we propose using the K-adaptability approach to approximately solve the DRO problem with DDID, where the parameter K controls both the solution quality and the computational time. Extending this framework to a multi-stage setting would be a compelling direction for future research. In such a setting, continuous support for random parameters could be considered, enabling the design of finite adaptability approaches to solve the problem. Alternatively, for discrete supports—derived from samples—a refined dual dynamic programming approach could be explored. However, significant challenges remain, particularly in sampling and generating the support while maintaining non-anticipativity constraints on unobserved portions of the random parameters since the time of information discovery is decision-dependent by the nature of the problem. Another future direction regarding the second part of this thesis could be a theoretical analysis of the solution quality for different K values. While the numerical results demonstrate that larger values of K yield better objective values, this thesis does not include such an analysis. Investigating this aspect in future work, even for special cases, would be an interesting direction. Specifically, studying the optimality gap associated with varying K values could contribute to the current literature. Moreover, this line of research is not limited to the DRO-DDID problem; it can be extended to other problems that employ approximation schemes to address multistage decision-making under uncertainty. In the multi-stage conservation planning problem, we currently use a rolling horizon algorithm to approximate the solutions for multi-stage robust optimization problems with decision-dependent uncertainty sets. Future work could explore alternative approximation algorithms or even exact solution methods for such problems. The primary challenge in achieving exact solutions lies in the computational complexity: as shown in this thesis, even solving a single-stage problem is harder than an NP-complete problem. Alternatively, studying the approximation bounds of the rolling horizon algorithm or other approximation methods would provide valuable insights into their performance and potential limitations. 106 Bibliography [1] Aharon Ben-Tal, Dick den Hertog, and Jean Philippe Vial. “Deriving robust counterparts of nonlinear uncertain inequalities”. In: Mathematical Programming 149.1-2 (2014). issn: 14364646. doi: 10.1007/s10107-014-0750-8. [2] H Markowitz. “Portfolio Selection”. In: The Journal of Finance 7.1 (1952), pp. 77–91. [3] H Scarf. “Studies in the Mathematical Theory of Inventory and Production”. In: ed. by K J Arrow, S Karlin, and H Scarf. Stanford University Press, 1958. Chap. A min-max, pp. 201–209. [4] Dimitris J. Bertsimas and Garrett van Ryzin. “A Stochastic and Dynamic Vehicle Routing Problem in the Euclidean Plane”. In: Operations Research (1991). issn: 0030- 364X. doi: 10.1287/opre.39.4.601. [5] Samer Takriti, John R. Birge, and Erik Long. “A stochastic model for the unit commitment problem”. In: IEEE Transactions on Power Systems (1996). issn: 08858950. doi: 10.1109/59.535691. [6] G Haarbr¨ucker and D Kuhn. “Valuation of electricity swing options by multistage stochastic programming”. In: Automatica 45.4 (2009), pp. 889–899. [7] S Solak et al. “Optimization of R&D project portfolios under endogenous uncertainty”. In: European Journal of Operational Research 207.1 (2010), pp. 420–433. [8] M Colvin and C T Maravelias. “A stochastic programming approach for clinical trial planning in new drug development”. In: Computers & Chemical Engineering 32.11 (2008), pp. 2626–2642. [9] V Goel and I E Grossman. “A stochastic programming approach to planning of offshore gas field developments under uncertainty in reserves”. In: Computers & Chemical Engineering 28.8 (2004), pp. 1409–1429. [10] Xian Yu and Siqian Shen. “Multistage distributionally robust mixed-integer programming with decision-dependent moment-based ambiguity sets”. In: Mathematical Programming (2020). issn: 14364646. doi: 10.1007/s10107-020-01580-4. [11] A Ben-Tal and A Nemirovski. “Robust solutions of uncertain linear programs”. In: Operations Research Letters 25 (1999), pp. 1–13. [12] A Ben-Tal and A Nemirovski. “Robust convex optimization”. In: Mathematics of Operations Research 23.4 (1998), pp. 769–805. 107 [13] A Ben-Tal and A Nemirovski. “Robust solutions of linear programming problems contaminated with uncertain data”. In: Mathematical Programming 88 (2000), pp. 411– 424. [14] A Ben-Tal et al. “Adjustable robust solutions of uncertain linear programs”. In: Mathematical Programming 99.2 (2004), pp. 351–376. [15] D Bertsimas and M Sim. “Robust discrete optimization and network flows”. In: Mathematical Programming 98.1 (2003), pp. 49–71. [16] D Bertsimas and M Sim. “The price of robustness”. In: Operations Research 52.1 (2004), pp. 35–53. [17] D Bertsimas and M Sim. “Tractable approximations to robust conic optimization problems”. In: Mathematical Programming 107.1 (2006), pp. 5–36. [18] D. Bertsimas, D.B. Brown, and C. Caramanis. “Theory and applications of robust optimization”. In: SIAM Review 53.3 (2010), pp. 464–501. [19] BL Gorissen, I Yanikoglu, and D den Hertog. “A practical guide to robust optimization”. In: Omega 53 (2015), pp. 124–137. [20] A Ardestani-Jaafari and E Delage. “Robust optimization of sums of piecewise linear functions with application to inventory problems”. In: Operations Research 64.2 (2016), pp. 474–494. [21] E Adida and G Perakis. “A robust optimization approach to dynamic pricing and inventory control with no backorders”. In: Mathematic Programming 107.1 (2006), pp. 97–129. [22] A Thiele. “Multi-product pricing via robust optimization”. In: Journal of Revenue and Pricing Management 8 (2009), pp. 67–80. [23] D Goldfarb and G Iyengar. Robust portfolio management. Tech. rep. 2004. [24] D Goldfarb and G Iyengar. “Robust portfolio selection problems”. In: Mathematics of Operations Research 28 (2003), pp. 1–38. [25] Vishal Gupta et al. “Maximizing intervention effectiveness”. In: Management Science 66.12 (2020). issn: 15265501. doi: 10.1287/mnsc.2019.3537. [26] C Bandi, N Trichakis, and P Vayanos. “Robust multiclass queuing theory for wait time estimation in resource allocation systems”. In: Management Science 65.1 (2018), pp. 152–187. 108 [27] Timothy C. Y. Chan, Zuo-Jun Max Shen, and Auyon Siddiq. “Robust defibrillator deployment under cardiac arrest location uncertainty via row-and-column generation”. In: Operations Research 66.2 (Apr. 2018), pp. 358–379. issn: 0030-364X. doi: 10.1287/opre.2017.1660. url: http://pubsonline.informs.org/doi/10.1287/ opre.2017.1660. [28] C Zhao et al. “Multi-stage robust unit commitment considering wind and demand response uncertainties”. In: IEEE Transactions on Power Systems 28.3 (2013), pp. 2708– 2717. [29] Ruiwei Jiang et al. “Two-stage network constrained robust unit commitment problem”. In: European Journal of Operational Research 234.3 (May 2014), pp. 751– 762. issn: 0377-2217. doi: 10.1016/J.EJOR.2013.09.028. url: https://www. sciencedirect.com/science/article/abs/pii/S0377221713007832. [30] A Ben-Tal et al. “Retailer-supplier flexible commitments contracts: a robust optimization approach”. In: Manufacturing & Service Operations Management 7.3 (2005), pp. 248–271. [31] Hamed Mamani, Shima Nassiri, and Michael R Wagner. “Closed-form solutions for robust inventory management”. In: Management Science 63.5 (2017), pp. 1625–1643. issn: 1526-5501. doi: 10 . 1287 / mnsc . 2015 . 2391. url: http : / / pubsonline . informs.org/journal/mnsc/. [32] A Atamt¨urk and M Zhang. “Two-stage robust network flow and design under demand uncertainty”. In: Operations Research 55.4 (2007), pp. 662–673. [33] P Vayanos et al. Robust active preference elicitation. Under second round of review at Management Science. 2021. [34] Chrysanthos E Gounaris, Wolfram Wiesemann, and Christodoulos A Floudas. “The Robust Capacitated Vehicle Routing Problem Under Demand Uncertainty”. In: Operations Research 61.3 (2013), pp. 677–693. doi: 10.1287/opre.1120.1136. url: https://doi.org/10.1287/opre.1120.1136. [35] Nikolaos H. Lappas and Chrysanthos E. Gounaris. “Multi-stage adjustable robust optimization for process scheduling under uncertainty”. In: AIChE Journal 62.5 (2016). issn: 15475905. doi: 10.1002/aic.15183. [36] P Vayanos, A Georghiou, and H Yu. Robust optimization with decision-dependent information discovery. Major revision at Management Science. 2019. url: https : //arxiv.org/pdf/2004.08490.pdf. [37] J Goh and M Sim. “Distributionally Robust Optimization and its Tractable Approximations”. In: Operations Research 58.4 (2010), pp. 902–917. 109 [38] E Delage and Y Ye. “Distributionally robust optimization under moment uncertainty with application to data-driven problems”. In: Operations Research 58.3 (2010), pp. 595–612. [39] Joel Goh and Melvyn Sim. “Distributionally robust optimization and its tractable approximations”. In: Operations Research 58.4 PART 1 (2010), pp. 902–917. issn: 0030364X. doi: 10.1287/opre.1090.0795. [40] Wolfram Wiesemann, Daniel Kuhn, and Melvyn Sim. “Distributionally Robust Convex Optimization”. In: Operations Research 62.6 (2014). issn: 0030-364X. doi: 10. 1287/opre.2014.1314. [41] Ruiwei Jiang and Yongpei Guan. “Data-driven chance constrained stochastic program”. In: Mathematical Programming 158.1-2 (2016). issn: 14364646. doi: 10.1007/ s10107-015-0929-7. [42] Peyman Mohajerin Esfahani and Daniel Kuhn. “Data-driven distributionally robust optimization using the Wasserstein metric: performance guarantees and tractable reformulations”. In: Mathematical Programming 171.1-2 (2018), pp. 115–166. issn: 14364646. doi: 10.1007/s10107-017-1172-1. [43] Grani A. Hanasusanto and Daniel Kuhn. “Conic programming reformulations of twostage distributionally robust linear programs over Wasserstein balls”. In: Operations Research 66.3 (2018). issn: 15265463. doi: 10.1287/opre.2017.1698. [44] Zhi Chen, Melvyn Sim, and Peng Xiong. “Robust stochastic optimization made easy with RSOME”. In: Management Science 66.8 (2020). issn: 15265501. doi: 10.1287/ mnsc.2020.3603. [45] Erick Delage and Yinyu Ye. “Distributionally robust optimization under moment uncertainty with application to data-driven problems”. In: Operations Research 58.3 (2010), pp. 595–612. issn: 0030364X. doi: 10.1287/opre.1090.0741. [46] Aharon Ben-Tal et al. “Robust solutions of optimization problems affected by uncertain probabilities”. In: Management Science 59.2 (2013), pp. 341–357. issn: 00251909. doi: 10.1287/mnsc.1120.1641. [47] Martin Mevissen, Emanuele Ragnoli, and Jia Yuan Yu. “Data-driven distributionally robust polynomial optimization”. In: Advances in Neural Information Processing Systems 26 (2013). [48] Jianqiu Huang, Kezhuo Zhou, and Yongpei Guan. “A study of distributionally robust multistage stochastic optimization”. In: arXiv preprint arXiv:1708.07930 (2017). 110 [49] Chaoyue Zhao and Yongpei Guan. “Data-driven risk-averse two-stage stochastic program with ζ-structure probability metrics”. In: Available on Optimization Online 2.5 (2015), pp. 1–40. [50] H Rahimian and S Mehrotra. “Distributionally Robust Optimization: A Review”. In: 60208.1 (2019). url: https://arxiv.org/pdf/1908.05659.pdf. [51] Fengming Lin, Xiaolei Fang, and Zheming Gao. “Distributionally robust optimization: A review on theory and applications”. In: Numerical Algebra, Control and Optimization 12.1 (2022), pp. 159–212. [52] P. Vayanos, Q. Jin, and G. Elissaios. “ROCPP Version v2020.0140”. In: INFORMS Journal on Computing (2022). Available for download from https://github.com/INFORMSJoC/2020.0140. doi: 10.5281/zenodo.6360996. [53] A Ben-Tal, L El Ghaoui, and A Nemirovski. Robust Optimization. Princeton Series in Applied Mathematics. Princeton University Press, 2009. [54] Zulqarnain Haider, Hadi Charkhgard, and Changhyun Kwon. “A robust optimization approach for solving problems in conservation planning”. In: Ecological Modelling 368 (2018). issn: 03043800. doi: 10.1016/j.ecolmodel.2017.12.006. [55] C Bandi and D Bertsimas. “Tractable stochastic analysis in high dimensions via robust optimization”. In: Mathematical programming (2012), pp. 1–48. [56] Omid Nohadani and Kartikey Sharma. “Optimization under decision-dependent uncertainty”. In: SIAM Journal on Optimization 28.2 (2018), pp. 1773–1795. issn: 10526234. doi: 10.1137/17M1110560. [57] Nikolaos H. Lappas and Chrysanthos E. Gounaris. “Robust optimization for decisionmaking under endogenous uncertainty”. In: Computers and Chemical Engineering (2018). issn: 00981354. doi: 10.1016/j.compchemeng.2018.01.006. [58] Omid Nohadani and Arkajyoti Roy. “Robust optimization with time-dependent uncertainty in radiation therapy”. In: IISE Transactions on Healthcare Systems Engineering 7.2 (2017), pp. 81–92. [59] P Rocha and D Kuhn. “Multistage stochastic portfolio optimization in deregulated electricity markets using linear decision rules”. In: European Journal of Operational Research 216.2 (2012), pp. 397–408. [60] P Vayanos, D Kuhn, and B Rustem. “Decision rules for information discovery in multi-stage stochastic programming”. In: Proceedings of the 50th IEEE Conference on Decision and Control. 2011, pp. 7368–7373. 111 [61] Angelos Georghiou, Wolfram Wiesemann, and Daniel Kuhn. “Generalized decision rule approximations for stochastic programming via liftings”. In: Mathematical Programming 152.1 (Aug. 2015), pp. 301–338. issn: 1436-4646. doi: 10.1007/s10107- 014-0789-6. url: https://doi.org/10.1007/s10107-014-0789-6. [62] D Bertsimas, D Iancu, and P Parrilo. “A hierarchy of near-optimal policies for multistage adaptive optimization”. In: IEEE Transactions on Automatic Control 56.12 (2011), pp. 2809–2824. [63] D Bampou and D Kuhn. “Scenario-free stochastic Programming with Polynomial Decision Rules”. In: Proceedings of the 50th IEEE Conference on Decision and Control. 2011, pp. 7806–7812. [64] P Vayanos, D Kuhn, and B Rustem. “A constraint sampling approach for multi-stage robust optimization”. In: Automatica 48.3 (2012), pp. 459–471. [65] Dimitris Bertsimas and Angelos Georghiou. “Design of near optimal decision rules in multistage adaptive mixed-integer optimization”. In: Operations Research 63.3 (2015), pp. 610–627. doi: 10.1287/opre.2015.1365. [66] Dimitris Bertsimas and Angelos Georghiou. “Binary decision rules for multistage adaptive mixed-integer optimization”. In: Mathematical Programming 167.2 (2018), pp. 395–433. [67] Dimitris Bertsimas and Iain Dunning. “Multistage robust mixed-integer optimization with adaptive partitions”. In: Operations Research 64.4 (2016), pp. 980–998. doi: 10.1287/opre.2016.1515. url: https://doi.org/10.1287/opre.2016.1515. [68] D Bertsimas and C Caramanis. “Finite adaptability for linear optimization”. In: IEEE Transactions on Automatic Control 55.12 (2010), pp. 2751–2766. [69] Grani A Hanasusanto, Daniel Kuhn, and Wolfram Wiesemann. “K-Adaptability in two-stage robust binary programming”. In: Operations Research 63.4 (2015), pp. 877– 891. doi: 10.1287/opre.2015.1392. url: https://doi.org/10.1287/opre.2015. 1392. [70] T W Jonsbr˚aten. “Optimization models for petroleum field exploitation”. PhD thesis. Norwegian Shool of Economics and Business Administration, 1998. [71] D Bertsimas and P Vayanos. Data-driven learning in dynamic pricing using adaptive robust optimization. Working paper, available on optimization online at http://www.optimizationonline.org/DB HTML/2014/10/4595.html. 2017. 112 [72] D Kuhn, W Wiesemann, and A Georghiou. “Primal and dual linear decision rules in stochastic and robust optimization”. In: Mathematical Programming 130.1 (2009), pp. 177–209. [73] Merve Bodur and James R Luedtke. “Two-stage linear decision rules for multi-stage stochastic programming”. In: Mathematical Programming 191 (Oct. 2022), pp. 347– 380. issn: 1436-4646. doi: 10.1007/s10107-018-1339-4. url: https://doi.org/ 10.1007/s10107-018-1339-4. [74] Hamed Rahimian and Sanjay Mehrotra. Distributionally robust optimization: A review. Tech. rep. 2019. url: https://arxiv.org/pdf/1908.05659.pdf. [75] Robert C Martin. Agile software development: principles, patterns, and practices. Prentice Hall PTR, 2003. url: http://dl.acm.org/citation.cfm?id=515230. [76] Dimitris Bertsimas, Melvyn Sim, and Meilin Zhang. “Adaptive distributionally robust optimization”. In: Management Science 65.2 (2019). issn: 15265501. doi: 10.1287/ mnsc.2017.2952. [77] Johan L¨ofberg. “Automatic robust convex programming”. In: Optimization methods and software 27.1 (2012), pp. 115–129. [78] Joel Goh and Melvyn Sim. “Robust optimization made easy with ROME”. In: Operations Research 59.4 (2011), pp. 973–985. issn: 0030364X. doi: 10.1287/opre.1110. 0944. url: https://doi.org/10.1287/opre.1110.0944. [79] Zhi Chen, Melvyn Sim, and Peng Xiong. “Robust stochastic optimization made easy with RSOME”. In: Management Science 66.8 (2020). issn: 15265501. doi: 10.1287/ mnsc.2020.3603. [80] Iain Dunning, Joey Huchette, and Miles Lubin. “JuMP: A modeling language for mathematical optimization”. In: SIAM Review 59.2 (2017), pp. 295–320. issn: 00361445. doi: 10.1137/15M1020575. url: https://doi.org/10.1137/15M1020575. [81] J R Birge and F Louveaux. Introduction to Stochastic Programming. Springer, 2000. [82] Lingquan Ding, Shabbir Ahmed, and Alexander Shapiro. A Python package for multistage stochastic programming. Tech. rep. 2019. url: http://www.optimizationonline.org/DB_FILE/2019/05/7199.pdf. [83] Oscar Dowson and Lea Kapelevich. “SDDP.jl : A Julia Package for Stochastic Dual Dynamic Programming”. In: INFORMS Journal on Computing 33.1 (2021). issn: 1091-9856. doi: 10.1287/ijoc.2020.0987. 113 [84] Severin Perez. Coding Dynamic Behavior with the Strategy Pattern. 2018. url: https: //severinperez.medium.com/coding-dynamic-behavior-with-the-strategypattern-c0bebaee6671#:˜:text=TL%3BDR-,The%20strategy%20pattern%20is% 20a%20behavioral%20design%20pattern%20used%20to,different%20ways%20at% 20different%20times. [85] M C Campi and S Garatti. “The exact feasibility of randomized solutions of robust convex programs”. In: SIAM Journal on Optimization 19.3 (2008), pp. 1211–1230. [86] Martin L. Weitzman. “Optimal Search for the Best Alternative”. In: Econometrica (1979). issn: 00129682. doi: 10.2307/1910412. [87] Rui Gao and Anton Kleywegt. “Distributionally robust stochastic optimization with Wasserstein distance”. In: Mathematics of Operations Research 48.2 (2023), pp. 603– 655. doi: 10.1287/moor.2022.1275. [88] Dimitris Bertsimas, Melvyn Sim, and Meilin Zhang. “Adaptive distributionally robust optimization”. In: Management Science 65.2 (2019). issn: 15265501. doi: 10.1287/ mnsc.2017.2952. [89] Senay Solak et al. “Optimization of R&D project portfolios under endogenous uncertainty”. In: European Journal of Operational Research 207.1 (2010), pp. 420–433. issn: 03772217. doi: 10.1016/j.ejor.2010.04.032. url: http://dx.doi.org/10. 1016/j.ejor.2010.04.032. [90] Max Chu et al. “SitkaNet: A low-cost, distributed sensor network for landslide monitoring and study”. In: HardwareX 9 (2021). issn: 24680672. doi: 10.1016/j.ohx. 2021.e00191. [91] Matthew Colvin and Christos T Maravelias. “Modeling methods and a branch and cut algorithm for pharmaceutical clinical trial planning using stochastic programming”. In: European Journal of Operational Research 203.1 (2010), pp. 205–215. [92] Vikas Goel and Ignacio E Grossmann. “A stochastic programming approach to planning of offshore gas field developments under uncertainty in reserves”. In: Computers & chemical engineering 28.8 (2004), pp. 1409–1429. [93] Vikas Goel and Ignacio E Grossmann. “A class of stochastic programs with decision dependent uncertainty”. In: Mathematical programming 108.2 (2006), pp. 355–394. [94] Vijay Gupta and Ignacio E Grossmann. “Solution strategies for multistage stochastic programming with endogenous uncertainties”. In: Computers & Chemical Engineering 35.11 (2011), pp. 2235–2247. 114 [95] Vijay Gupta and Ignacio E Grossmann. “A new decomposition algorithm for multistage stochastic programs with endogenous uncertainties”. In: Computers & Chemical Engineering 62 (2014), pp. 62–79. [96] Robert M. Apap and Ignacio E. Grossmann. “Models and computational strategies for multistage stochastic programming under endogenous and exogenous uncertainties”. In: Computers & Chemical Engineering 103 (2017), pp. 233–274. issn: 0098-1354. doi: 10.1016/j.compchemeng.2016.11.011. [97] Phebe Vayanos, Daniel Kuhn, and Ber¸c Rustem. “Decision rules for information discovery in multi-stage stochastic programming”. In: Proceedings of the IEEE Conference on Decision and Control. 2011. doi: 10.1109/CDC.2011.6161382. [98] Qi Zhang and Wei Feng. “A unified framework for adjustable robust optimization with endogenous uncertainty”. In: AIChE Journal 66.12 (2020). issn: 15475905. doi: 10.1002/aic.17047. [99] Rosario Paradiso et al. “Exact and approximate schemes for robust optimization problems with decision dependent information discovery”. In: arXiv preprint arXiv:2208.04115 (2022). [100] J´er´emy Omer, Michael Poss, and Maxime Rougier. “Combinatorial Robust Optimization with Decision-Dependent Information Discovery and Polyhedral Uncertainty”. In: Open Journal of Mathematical Optimization 5.5 (2024), pp. 1–25. doi: 10.5802/ ojmo.33. url: https://hal.science/hal-04097679. [101] Jie Zhang, Huifu Xu, and Liwei Zhang. “Quantitative stability analysis for distributionally robust optimization with moment constraints”. In: SIAM Journal on Optimization 26.3 (2016), pp. 1855–1882. [102] Fengqiao Luo and Sanjay Mehrotra. “Distributionally robust optimization with decision dependent ambiguity sets”. In: Optimization Letters 14.8 (2020). issn: 18624480. doi: 10.1007/s11590-020-01574-3. [103] Minseok Ryu and Ruiwei Jiang. “Nurse staffing under absenteeism: A distributionally robust optimization approach”. In: arXiv preprint arXiv:1909.09875 (2019). [104] Beste Basciftci, Shabbir Ahmed, and Siqian Shen. “Distributionally robust facility location problem under decision-dependent stochastic demand”. In: European Journal of Operational Research 292.2 (2021). issn: 03772217. doi: 10.1016/j.ejor.2020. 11.002. [105] Nilay Noyan, G´abor Rudolf, and Miguel Lejeune. “Distributionally Robust Optimization Under a Decision-Dependent Ambiguity Set with Applications to Machine Scheduling and Humanitarian Logistics”. In: INFORMS Journal on Computing 34.2 115 (2022), pp. 729–751. issn: 1091-9856. doi: 10.1287/ijoc.2021.1096. url: https: //doi.org/10.1287/ijoc.2021.1096. [106] Xuan Vinh Doan. “Distributionally robust optimization under endogenous uncertainty with an application in retrofitting planning”. In: European Journal of Operational Research (2021). issn: 03772217. doi: 10.1016/j.ejor.2021.07.013. [107] Dimitris Bertsimas and Constantine Caramanis. “Finite adaptability in multistage linear optimization”. In: IEEE Transactions on Automatic Control 55.12 (2010), pp. 2751–2766. issn: 00189286. doi: 10.1109/TAC.2010.2049764. [108] Anirudh Subramanyam, Chrysanthos E. Gounaris, and Wolfram Wiesemann. “Kadaptability in two-stage mixed-integer robust optimization”. In: Mathematical Programming Computation 12.2 (2020), pp. 193–224. issn: 18672957. doi: 10 . 1007 / s12532-019-00174-2. url: https://doi.org/10.1007/s12532-019-00174-2. [109] Christoph Buchheim and Jannis Kurtz. “Min–max–min robust combinatorial optimization”. In: Mathematical Programming 163 (2017), pp. 1–23. [110] Christoph Buchheim and Jannis Kurtz. “Complexity of min–max–min robustness for combinatorial optimization under discrete uncertainty”. In: Discrete Optimization 28 (2018), pp. 1–15. [111] Andr´e Chassein et al. “Faster algorithms for min-max-min robustness for combinatorial problems with budgeted uncertainty”. In: European Journal of Operational Research 279.2 (Dec. 2019), pp. 308–319. issn: 0377-2217. doi: 10.1016/J.EJOR. 2019.05.045. url: https://www.sciencedirect.com/science/article/pii/ S0377221719304758. [112] Grani A Hanasusanto, Daniel Kuhn, and Wolfram Wiesemann. “K-adaptability in two-stage distributionally robust binary programming”. In: Operations Research Letters 44.1 (2016), pp. 6–11. issn: 0167-6377. doi: https://doi.org/10.1016/j. orl.2015.10.006. url: http://www.sciencedirect.com/science/article/pii/ S0167637715001376. [113] Eojin Han, Chaithanya Bandi, and Omid Nohadani. “On Finite Adaptability in TwoStage Distributionally Robust Optimization”. In: Operations Research 71.6 (2023), pp. 2307–2327. doi: 10.1287/opre.2022.2273. [114] P Vayanos, A Georghiou, and H Yu. Robust optimization with decision-dependent information discovery. Major revision at Management Science. 2019. url: https : //arxiv.org/pdf/2004.08490.pdf. 116 [115] Gilbert Laporte and Fran¸cois V. Louveaux. “The integer L-shaped method for stochastic integer programs with complete recourse”. In: Operations Research Letters 13.3 (1993), pp. 133–142. issn: 01676377. doi: 10.1016/0167-6377(93)90002-X. [116] Egon Balas and Robert Jeroslow. “Canonical Cuts on the Unit Hypercube”. In: SIAM Journal on Applied Mathematics 23.1 (1972). issn: 0036-1399. doi: 10.1137/0123007. [117] Giacomo Nannicini and Pietro Belotti. “Rounding-based heuristics for nonconvex MINLPs”. In: Mathematical Programming Computation 4.1 (2012). issn: 18672949. doi: 10.1007/s12532-011-0032-x. [118] J. F. Benders. “Partitioning procedures for solving mixed-variables programming problems”. In: Numerische Mathematik 4.1 (1962). issn: 0029599X. doi: 10.1007/ BF01386316. [119] Phebe Vayanos, Qing Jin, and George Elissaios. ROC++: Robust Optimization in C++. Forthcoming at INFORMS Journal on Computing. 2020. url: http://www. optimization-online.org/DB_FILE/2020/06/7835.pdf. [120] Stephen Polasky et al. “Where to put things? Spatial land management to sustain biodiversity and economic returns”. In: Biological conservation 141.6 (2008), pp. 1505– 1524. [121] Eric W Sanderson et al. “The human footprint and the last of the wild: the human footprint is a global map of human influence on the land surface, which suggests that human beings are stewards of nature, whether we like it or not”. In: BioScience 52.10 (2002), pp. 891–904. [122] IUCN. The IUCN Red List of Threatened Species. 2023. url: https://www.iucnredlist. org/ (visited on 12/31/2023). [123] Stuart L Pimm and John H Lawton. “Planning for biodiversity”. In: Science 279.5359 (1998), pp. 2068–2069. [124] KD Cocks and Ian A Baird. “Using mathematical programming to address the multiple reserve selection problem: an example from the Eyre Peninsula, South Australia”. In: Biological Conservation 49.2 (1989), pp. 113–130. [125] Alain Billionnet. “Mathematical optimization ideas for biodiversity conservation”. In: European Journal of Operational Research 231.3 (2013), pp. 514–534. [126] Hawthorne L Beyer et al. “Solving conservation planning problems with integer linear programming”. In: Ecological Modelling 328 (2016), pp. 14–22. 117 [127] Mar Cabeza and Atte Moilanen. “Design of reserve networks and the persistence of biodiversity”. In: Trends in ecology & evolution 16.5 (2001), pp. 242–248. [128] Stephen Polasky et al. “Choosing reserve networks with incomplete species information”. In: Biological Conservation 94.1 (2000), pp. 1–10. [129] Ian R Ball, Hugh P Possingham, and Matthew Watts. “Marxan and relatives: software for spatial conservation prioritisation”. In: Spatial conservation prioritisation: Quantitative methods and computational tools 14 (2009), pp. 185–196. [130] Matthew E Watts et al. “Marxan with Zones: Software for optimal conservation based land-and sea-use zoning”. In: Environmental Modelling & Software 24.12 (2009), pp. 1513–1521. [131] Robin Naidoo et al. “Integrating economic costs into conservation planning”. In: Trends in ecology & evolution 21.12 (2006), pp. 681–687. [132] Liana N Joseph, Richard F Maloney, and Hugh P Possingham. “Optimal allocation of resources among threatened species: a project prioritization protocol”. In: Conservation biology 23.2 (2009), pp. 328–338. [133] Eli Meir, Sandy Andelman, and Hugh P Possingham. “Does conservation planning matter in a dynamic and uncertain world?” In: Ecology Letters 7.8 (2004), pp. 615– 622. [134] Robert G Haight, Charles S Revelle, and Stephanie A Snyder. “An integer optimization approach to a probabilistic reserve site selection problem”. In: Operations research 48.5 (2000), pp. 697–708. [135] Jeffrey L Arthur et al. “Analysis of the threshold and expected coverage approaches to the probabilistic reserve site selection problem”. In: Environmental Modeling & Assessment 7 (2002), pp. 81–89. [136] Robert G Haight and Stephanie A Snyder. “Integer programming methods for reserve selection and design”. In: Spatial conservation prioritization. Oxford University Press Inc, New York (2009). [137] Justin C Williams. “Optimal reserve site selection with distance requirements”. In: Computers & Operations Research 35.2 (2008), pp. 488–498. [138] Nahid Jafari et al. “Achieving full connectivity of sites in the multiperiod reserve network design problem”. In: Computers & Operations Research 81 (2017), pp. 119– 127. 118 [139] Christopher Costello and Stephen Polasky. “Dynamic reserve site selection”. In: Resource and Energy Economics 26.2 (2004), pp. 157–174. [140] R´egis Sabbadin, Danny Spring, and Charles-Elie Rabier. “Dynamic reserve site selection under contagion risk of deforestation”. In: Ecological Modelling 201.1 (2007), pp. 75–81. [141] Niels Strange, Bo Jellesmark Thorsen, and Jesper Bladt. “Optimal reserve selection in a dynamic world”. In: Biological conservation 131.1 (2006), pp. 33–41. [142] S´andor F T´oth, Robert G Haight, and Luke W Rogers. “Dynamic reserve selection: Optimal land retention with land-price feedbacks”. In: Operations Research 59.5 (2011), pp. 1059–1078. [143] Jorge A Sefair et al. “A defender-attacker model and algorithm for maximizing weighted expected hitting time with application to conservation planning”. In: Iise Transactions 49.12 (2017), pp. 1112–1128. [144] Elana Guslitser. “Uncertainty-immunized solutions in linear programming”. PhD thesis. Citeseer, 2002. [145] Dimitris Bertsimas and Constantine Caramanis. “Adaptability via sampling”. In: 2007 46th IEEE Conference on Decision and Control. IEEE. 2007, pp. 4717–4722. [146] Krzysztof Postek and Dick Den Hertog. “Multistage adjustable robust mixed-integer optimization via iterative splitting of the uncertainty set”. In: INFORMS Journal on Computing 28.3 (2016), pp. 553–574. issn: 15265528. doi: 10.1287/ijoc.2016.0696. [147] Dimitris Bertsimas and Iain Dunning. “Multistage robust mixed-integer optimization with adaptive partitions”. In: Operations Research 64.4 (2016). issn: 15265463. doi: 10.1287/opre.2016.1515. [148] Krzysztof Postek, Ward Romeijnders, and Wolfram Wiesemann. “Multi-Stage Robust Mixed-Integer Programming”. In: (2023). [149] Angelos Georghiou, Angelos Tsoukalas, and Wolfram Wiesemann. “Robust dual dynamic programming”. In: Operations Research 67.3 (2019), pp. 813–830. [150] Wei Feng, Yiping Feng, and Qi Zhang. “Multistage robust mixed-integer optimization under endogenous uncertainty”. In: European Journal of Operational Research 294.2 (2021), pp. 460–475. [151] Yingxiao Ye et al. “Conserving Biodiversity via Adjustable Robust Optimization”. In: Proceedings of the 21st International Conference on Autonomous Agents and Multi119 agent Systems (AAMAS 2022), Workshop on Autonomous Agents for Social Good. 2022. [152] Alberto Caprara et al. “Bilevel knapsack with interdiction constraints”. In: INFORMS Journal on Computing 28.2 (2016), pp. 319–333. [153] Federico Della Croce and Rosario Scatamacchia. “An exact approach for the bilevel knapsack problem with interdiction constraints and extensions”. In: Mathematical Programming 183.1 (2020), pp. 249–281. [154] Noah Weninger and Ricardo Fukasawa. “A fast combinatorial algorithm for the bilevel knapsack problem with interdiction constraints”. In: Mathematical Programming (2024), pp. 1–33. [155] Griet An Erica Cuyckens, Fernando Falke, and Lisanne Petracca. “Jaguar Panthera onca in its southernmost range: use of a corridor between Bolivia and Argentina”. In: Endangered Species Research 26.2 (2014), pp. 167–177. [156] N Leader-Williams and H Dublin. Charismatic megafauna as ‘flagship species’ In: Entwistle A, Dunstone N, editors. Priorities for the Conservation of Mammalian Diversity: Has the Panda had its day. 2000. [157] W lodzimierz Jedrzejewski et al. “Estimating large carnivore populations at global scale based on spatial predictions of density and distribution–Application to the jaguar (Panthera onca)”. In: PloS one 13.3 (2018), e0194719. [158] Andrew Balmford et al. “Global variation in terrestrial conservation costs, conservation benefits, and unmet conservation needs.” In: Proceedings of the National Academy of Sciences of the United States of America 100.3 (Feb. 2003), pp. 1046–50. issn: 0027-8424. doi: 10.1073/pnas.0236945100. [159] Salit Kark et al. Between-country collaboration and consideration of costs increase conservation planning efficiency in the Mediterranean Basin. Tech. rep. 2009. [160] James R. Oakleaf et al. “A World at Risk: Aggregating Development Trends to Forecast Global Habitat Conversion”. In: PLOS ONE 10.10 (Oct. 2015). Ed. by Lalit Kumar, e0138334. issn: 1932-6203. doi: 10 . 1371 / journal . pone . 0138334. url: https://dx.plos.org/10.1371/journal.pone.0138334. [161] Nathan Justin et al. “Learning Optimal Classification Trees Robust to Distribution Shifts”. In: arXiv preprint arXiv:2310.17772 (2023). [162] Lakmali Weerasena et al. “A sequential approach to reserve design with compactness and contiguity considerations”. In: Ecological Modelling 478 (2023), p. 110281. 120 [163] Alexander Shapiro. “On Duality Theory of Conic Linear Problems”. In: Semi-Infinite Programming. Springer Science+Business Media, 2001, pp. 135–165. doi: 10.1007/ 978-1-4757-3403-4_7. url: http://link.springer.com/10.1007/978-1-4757- 3403-4_7. [164] J. W. Blankenship and J. E. Falk. “Infinitely constrained optimization problems”. In: Journal of Optimization Theory and Applications 19.2 (1976), pp. 261–281. issn: 00223239. doi: 10.1007/BF00934096. 121 Appendix A Supplemental Material of Chapter 2 A.1 Decision Rule & Finite Adaptability Approximations We describe mathematically the approximation schemes supported by our platform. A.1.1 Interpretable Decision Rules A.1.1.0.1 Constant Decision Rule and Linear Decision Rule. The simplest decision rules that are available in ROC ++ are the constant decision rule (CDR) and the linear decision rule (LDR), see [53]. These apply to binary and real-valued decision variables, respectively. Under the constant decision rule, the binary decisions zt(·) and wt(·) are no longer allowed to adapt to the history of observations – it is assumed that the decision-maker will take the same action, independently of the realization of the uncertain parameters. Mathematically, we have zt(ξ) = zt and wt(ξ) = wt ∀t ∈ T , ∀ξ ∈ Ξ, 122 for some vectors zt ∈ {0, 1} ℓt and wt ∈ {0, 1} k , t ∈ T . Under the linear decision rule, the real-valued decisions are modelled as affine functions of the history of observations, i.e., yt(ξ) = Ytξ + yt ∀t ∈ T , for some matrix Yt ∈ R nt×k and vector yt ∈ R nt . The LDR model leads to very interpretable decisions – we can think of this decision rule as a scoring rule that assigns different values (coefficients) to each uncertain parameter. These coefficients can be interpreted as the sensitivity of the decision variables to changes in the uncertain parameters. Under the CDR and LDR approximations the adaptive variables in the problem are eliminated and the quantities zt , wt , Yt , and yt become the new decision variables of the problem. A.1.1.0.2 Piecewise Constant and Piecewise Linear Decision Rules. In piecewise constant (PWC) and piecewise linear (PWL) decision rules, the binary (resp. real-valued) adjustable decisions are approximated by functions that are piecewise constant (resp. piecewise linear) on a preselected partition of the uncertainty set. Specifically, the uncertainty set Ξ is split into hyper-rectangles of the form Ξs := n ξ ∈ Ξ : c i si−1 ≤ ξi < c i si , i = 1, . . . , ko , where s ∈ S := ×k i=1{1, . . . , ri} ⊆ Z k and c i 1 < c i 2 < · · · < c i ri−1 , i = 1, . . . , k represent ri − 1 breakpoints along the ξi axis. Mathematically, the binary and real-valued decisions are expressible as zt(ξ) = X s∈S I(ξ ∈ Ξs) z s t , wt(ξ) = X s∈S I(ξ ∈ Ξs) ws t , and yt(ξ) = X s∈S I(ξ ∈ Ξs) (Y s t ξ + y s t ), for some vectors z s t ∈ R ℓt , ws t ∈ R k , y s t ∈ R nt and matrices Y s t ∈ R nt×k , t ∈ T , s ∈ S. We can think of this decision rule as a scoring rule that assigns different values (coefficients) to each uncertain parameter; the score assigned to each parameter depends on the subset of the partition in which the uncertain parameter lies. Although less interpretable 123 than CDR/LDR, the PWC/PWL approximation enjoys better optimality properties: it will usually outperform CDR/LDR, since the decisions that can be modelled are more flexible. A.1.2 Contingency Planning via Finite Adaptability Another solution approach available in ROC ++ is the so-called finite adaptability approximation that applies to robust problems with binary decisions, see [69, 36]. Under the finite adaptability approximation, the adaptive decisions in problems (2.3) and (2.4) are approximated as follows: in the first decision-stage (here-and-now), a moderate number Kt of candidate strategies are chosen for each decision-stage t; at the beginning of each period, the best of these candidate strategies is selected, in an adaptive fashion. Mathematically, the finite adaptability approximation of a problem is a multi-stage robust optimization problem wherein in the first period, a collection of contingency plans z k1,...,kt t ∈ {0, 1} ℓt and w k1,...,kt t ∈ {0, 1} k , kt ∈ {1, . . . , Kt}, t ∈ T for the variables zt(ξ) and wt(ξ) are chosen. Then, at the begin of each period t ∈ T , one of the contingency plans for that period is selected to be implemented, in an adaptive fashion. Relative to the piecewise constant decision rule, the finite adaptability approach usually results in better performance in the following sense: the number of contingency plans needed in the finite adaptability approach to achieve a given objective value is never greater than the number of subsets needed in the piecewise constant decision rule to achieve that same value. However, the finite adaptability approximation does not apply directly to problems with realvalued decision variables and is thus less attractive in that sense since more approximations are needed before it can be used on problems of that type. 124 A.2 Companion to Section 2.3: Additional Examples A.2.1 Retailer-Supplier Flexible Commitment Contracts (RSFC) We model the two-echelon, multiperiod supply chain problem, known as the retailer-supplier flexible commitment (RSFC) problem from [30] in ROC ++. A.2.1.1 Problem Description We consider a finite planning horizon of T periods, T := {1, . . . , T}. At the end of each period t ∈ T , the demand ξt ∈ R+ for the product faced during that period is revealed. We collect the demands for all periods in the vector ξ := (ξ1, . . . , ξT ). We assume that the demand is known to belong to the box uncertainty set Ξ := n ξ ∈ R T : ξ ∈ [ξ(1 − ρ), ξ(1 + ρ)]o , where ξ := eξ, ξ is the nominal demand, and ρ ∈ [0, 1] is the budget of uncertainty. As the time of revelation of the uncertain parameters is exogenous, the information base, encoded in the vectors wt ∈ {0, 1} T , t = 0, . . . , T, is an input of the problem (data). In particular, it is defined through w0 := 0 and wt := Pt τ=1 eτ for each t ∈ T : the information base for time t + 1 only contains the demand for the previous periods τ ∈ {1, . . . , t}. At the beginning of the planning horizon, the retailer holds an inventory x i 1 of the product (assumed to be known). At that point, they must specify their commitments y c = (y c 1 , . . . , y c T ), where y c t ∈ R+ represents the amount of the product that they forecast to order at the beginning of time t ∈ T from the supplier. A penalty cost c dc+ t (resp. c dc− t ) is incurred for each unit of increase (resp. decrease) between the amounts committed for times t and t − 1. The amount committed for the last order before the beginning of the planning horizon is given by y c 0 . At the beginning of each period, the retailer orders a quantity y o t (ξ) ∈ R+ from the supplier at unit cost c o t . These orders may deviate from the 125 commitments made at the beginning of the planning horizon; in this case, a cost c dp+ t (resp. c dp− t ) is incurred for each unit that orders y o t (ξ) overshoot (resp. undershoot) the plan y c t . Given this notation, the inventory of the retailer at time t + 1, t ∈ T , is expressible as x i t+1(ξ) = x i t (ξ) + y o t (ξ) − ξt . A holding cost c h t+1 is incurred for each unit of inventory held on hand at time t + 1, t ∈ T . A shortage cost c s t+1 is incurred for each unit of demand lost at time t + 1, t ∈ T . The amounts of the product that can be ordered in any given period are constrained by lower and upper bounds denoted by y o t and y o t , respectively. Similarly, cumulative orders up to and including time t ∈ T are constrained to lie in the range y co t to y co t . Thus, we have y o t ≤ y o t (ξ) ≤ y o t and y co t ≤ X t τ=1 y o τ (ξ) ≤ y co t . The objective of the retailer is to minimize their worst-case (maximum) costs. We introduce three sets of auxiliary variables used to linearize the objective function. For each t ∈ T , we let y dc t represent the smallest number that exceeds the costs of deviating from commitments, i.e., y dc t ≥ c dc+ t (y c t − y c t−1 ) and y dc t ≥ c dc− t (y c t−1 − y c t ). For each t ∈ T and ξ ∈ Ξ, we denote by y dp t (ξ) the smallest number that exceeds the deviations from the plan for time t, i.e., y dp t (ξ) ≥ c dp+ t (y o t (ξ) − y c t ) and y dp t (ξ) ≥ c dp− t (y c t − y o t (ξ)) Similarly, for each t ∈ T and ξ ∈ Ξ, we denote by y hs t+1(ξ) the smallest number that exceeds 126 the overall holding and shortage costs at time t + 1, i.e., y hs t+1(ξ) ≥ c h t+1x i t+1(ξ) and y hs t+1(ξ) ≥ −c s t+1x i t+1(ξ). The objective of the retailer is then expressible compactly as min max ξ∈Ξ X t∈T c o ty o t (ξ) + y dc t (ξ) + y dp t (ξ) + y hs t+1(ξ). The full model for this problem can be found in Appendix A.3.1. A.2.1.2 Model in ROC ++ We now present the ROC ++ model of the RSFC problem. We assume that the data of the problem have been defined in C ++. The C ++ variables associated with the problem data are detailed in Table A.1. For example, the lower bounds on the orders y o t , t ∈ T , are stored in the map OrderLB that maps each time period to the double representing the lower bound for that period. We discuss how to construct the key elements of the problem here. The full code can be found in Appendix A.3.2. Parameter/Index C ++ Name C ++ Type C ++ Map Keys T (t) T (t) uint NA x i 1 InitInventory double NA y c 0 InitCommit double NA ξ NomDemand double NA ρ rho double NA y o t , t ∈ T OrderLB map<uint,double> t=1...T y o t , t ∈ T OrderUB map<uint,double> t=1...T y co t , t ∈ T CumOrderLB map<uint,double> t=1...T y co t , t ∈ T CumOrderUB map<uint,double> t=1...T c o t , t ∈ T OrderCost map<uint,double> t=1...T c h t+1, t ∈ T HoldingCost map<uint,double> t=2...T+1 c s t+1, t ∈ T ShortageCost map<uint,double> t=2...T+1 c dc+ t , t ∈ T CostDCp map<uint,double> t=1...T c dc− t , t ∈ T CostDCm map<uint,double> t=1...T c dp+ t , t ∈ T CostDPp map<uint,double> t=1...T c dp− t , t ∈ T CostDPm map<uint,double> t=1...T Table A.1: List of model parameters and their associated C ++ variables for the RSFC problem. 127 The RSFC problem is a multi-stage robust optimization problem involving only exogenous uncertain parameters. We begin by creating a model, RSFCModel, in ROC ++ that will contain our formulation. All models are pointers to the interface class ROCPPOptModelIF. In this case, we instantiate an object of type ROCPPUncOptModel that is derived from ROCPPOptModelIF and which can model multi-stage optimization problems affected by exogenous uncertain parameters only. The first parameter of the ROCPPUncOptModel constructor corresponds to the maximum time period of any decision variable or uncertain parameter in the problem: in this case, T + 1. The second parameter of the ROCPPUncOptModel constructor is of the enumerated type uncOptModelObjType that admits two possible values: robust, which indicates a min-max objective; and, stochastic, which indicates an expectation objective. The robust RSFC problem can be initialized as: 1 // Create an empty robust model with T + 1 periods for the RSFC problem 2 ROCPPOptModelIF_Ptr RSFCModel (new ROCPPUncMSOptModel ( T +1 , robust ) ) ; We note that in ROC ++ all optimization problems are minimization problems. Next, we discuss how to create the ROC ++ variables associated with uncertain parameters and decision variables in the problem. The correspondence between variables is summarized in Table A.2 for convenience. Variable C ++ Name C ++ Type C ++ Map Keys ξt , t ∈ T Demand map<uint,ROCPPUnc Ptr> t=1...T y o t , t ∈ T Orders map<uint,ROCPPVarIF Ptr> t=1...T y c t , t ∈ T Commits map<uint,ROCPPVarIF Ptr> t=1...T y dc t , t ∈ T MaxDC map<uint,ROCPPVarIF Ptr> t=1...T y dp t , t ∈ T MaxDP map<uint,ROCPPVarIF Ptr> t=1...T y hs t+1, t ∈ T MaxHS map<uint,ROCPPVarIF Ptr> t=2...T+1 x i t+1, t ∈ T Inventory ROCPPExp Ptr NA Table A.2: List of model variables and uncertainties and their associated ROC ++ variables for the RSFC problem. The uncertain parameters of the RSFC problem are ξt , t ∈ T . We store these in the Demand map, which maps each period to the associated uncertain parameter. Each uncertain parameter is a pointer to an object of type ROCPPUnc. The constructor of the ROCPPUnc class takes two input parameters: the name of the uncertain parameter and the period when that 128 parameter is revealed (first time stage when it is observable). 3 // Create the Demand map to store the uncertain parameters of the problem 4 map < uint , ROCPPUnc_Ptr > Demand ; 5 // Iterate over all time periods when there is uncertainty 6 for ( uint t =1; t <= T ; t ++) 7 // Create the uncertain parameters , and add them to Demand 8 Demand [ t ] = ROCPPUnc_Ptr (new ROCPPUnc (" Demand_ "+ to_string ( t ) ,t +1) ) ; The main decision variables of the RSFC problem are y c t and y o t , t ∈ T . The commitment variables y c t are all static. We store these in the Commits map that maps each time period to the associated commitment decision. The order variables y o t are allowed to adapt to the history of observed demand realizations. We store these in the Orders map that maps the time period at which the decision is made to the order decision for that period. In ROC ++, the decision variables are pointers to objects of type ROCPPVarIF. Real-valued static (adaptive) decision variables are modelled using objects of type ROCPPStaticVarReal (ROCPPAdaptVarReal). The constructor of ROCPPStaticVarReal admits three input parameters: the name of the variable, its lower bound, and its upper bound. The constructor of ROCPPAdaptVarReal admits four input parameters: the name of the variable, the time period when the decision is made, and the lower and upper bounds. 9 // Create maps to store the decision variables of the problem 10 map < uint , ROCPPVarIF_Ptr > Orders , Commits ; // Quantity ordered , Commitments made 11 // Iterate over all time periods from 1 to T 12 for ( uint t =1; t <= T ; t ++) { 13 // Create the commitment variables ( these are static ) 14 Commits [ t ]= ROCPPVarIF_Ptr (new ROCPPStaticVarReal (" Commit_ "+ to_string ( t ) ,0.) ) ; 15 if ( t ==1) // In the first period , the order variables are static 16 Orders [ t ] = ROCPPVarIF_Ptr (new ROCPPStaticVarReal (" Order_ "+ to_string ( t ) , OrderLB [ t ] , OrderUB [ t ]) ) ; 17 else // In the other periods , the order variables are adaptive 18 Orders [ t ] = ROCPPVarIF_Ptr (new ROCPPAdaptVarReal (" Order_ "+ to_string ( t ) ,t , OrderLB [ t ] , OrderUB [ t ]) ) ; 19 } The RSFC problem also involves the auxiliary variables y dc t , y dp t , and y hs t+1, t ∈ T . We store the y dc t variables in the map MaxDC. These variables are all static. We store the y dp t variables in the map MaxDP. We store the y hs t variables in the map MaxHS. Since the orders 129 placed and inventories held change based on the demand realization, the variables stored in MaxDP and MaxHS are allowed to adapt to the history of observations. All maps map the index of the decision to the actual decision variable. The procedure to build these maps exactly parallels the approach above and we thus omit it. We refer the reader to lines 20-34 in Section A.3.2 for the code to build these maps. Having defined the model, the uncertain parameters, and the decision variables of the problem, we are now ready to formulate the constraints. To express our constraints in an intuitive fashion, we create an expression variable (type ROCPPExpr), which we call Inventory that stores the amount of inventory held at the beginning of each period. This is computed by adding to the initial inventory InitInventory the amount ordered at each period and subtracting the demand faced. Similarly, we create an ROCPPExpr to store the cumulative orders placed. This is obtained by adding orders placed at each period. Constraints can be created using the operators “<=”, “>=”, or “==” and added to the problem using the add constraint() function. We show how to construct the cumulative order constraints and the lower bounds on the shortage and holding costs. The code to add the remaining constraints can be found in lines 53-67 of Section A.3.2. 35 // Create the constraints of the problem 36 // Create an expression for the amount of inventory held and initialize it 37 ROCPPExpr_Ptr Inventory (new ROCPPExpr () ) ; 38 Inventory = Inventory + InitInventory ; 39 // Create an expression for the cumulative amount ordered 40 ROCPPExpr_Ptr CumOrders (new ROCPPExpr () ) ; 41 // Iterate over all time periods and add the constraints to the problem 42 for ( uint t =1; t <= T ; t ++) { 43 // Create the upper and lower bounds on the cumulative orders 44 CumOrders = CumOrders + Orders [ t ]; 45 RSFCModel - > add_constraint ( CumOrders >= CumOrderLB [ t ]) ; 46 RSFCModel - > add_constraint ( CumOrders <= CumOrderUB [ t ]) ; 47 // Update the inventory 48 Inventory = Inventory + Orders [ t ] - Demand [ t ]; 49 // Create upper bound on shortage / holding costs 50 RSFCModel - > add_constraint ( MaxHS [ t +1] >= HoldingCost [ t +1]* Inventory ) ; 51 RSFCModel - > add_constraint ( MaxHS [ t +1] >= ( -1.* ShortageCost [ t +1]* Inventory ) ) ; 52 } The objective function of the RSFC problem consists in minimizing the sum of all costs 130 over time. We create the ROCPPExpr expression RSFCObj to which we add all terms by iterating over time. We then set RSFCObj as the objective function of the RSFCModel model by using the set objective() function. 68 // Create an expression that will contain the objective function 69 ROCPPExpr_Ptr RSFCObj (new ROCPPExpr () ) ; 70 // Iterate over all periods and add the terms to the objective function 71 for ( uint t =1; t <= T ; t ++) 72 RSFCObj = RSFCObj + OrderCost * Orders [ t ] + MaxDC [ t ] + MaxDP [ t ] + MaxHS [ t +1]; 73 RSFCModel - > set_objective ( RSFCObj ) ; // Add the objective to the problem Finally, we create a box uncertainty set for the demand. 74 for ( uint t =1; t <= T ; t ++) { 75 // Add the upper and lower bounds on the demand to the uncertainty set 76 RSFCModel - > add_constraint_uncset ( Demand [ t ] >= NomDemand *(1.0 - rho ) ) ; 77 RSFCModel - > add_constraint_uncset ( Demand [ t ] <= NomDemand *(1.0+ rho ) ) ; 78 } Having formulated the RSFC problem in ROC ++, we turn to solving it. A.2.1.3 Solution in ROC ++ From [30], LDRs are optimal in this case. Thus, it suffices to approximate the real-valued adaptive variables in the problem by linear decision rules, then robustify the problem using duality theory, and finally solve it using an off-the-shelf deterministic solver. This process is streamlined in ROC ++. 79 // Construct the reformulation orchestrator 80 ROCPPOrchestrator_Ptr pOrch ( new ROCPPOrchestrator () ) ; 81 // Construct the linear / constant decision rule reformulation strategy 82 ROCPPStrategy_Ptr pLDR (new ROCPPLinearDR () ) ; 83 // Construct the robustify engine reformulation strategy 84 ROCPPStrategy_Ptr pRE (new ROCPPRobustifyEngine () ) ; 85 // Approximate the adaptive decisions using the linear / constant decision rule approximator and robustify 86 vector < ROCPPStrategy_Ptr > strategyVec { pLDR , pRE }; 87 ROCPPOptModelIF_Ptr RSFCModelLDRFinal = pOrch - > Reformulate ( RSFCModel , strategyVec ) ; 88 // Construct the solver (in this case , use gurobi as deterministic solver ) 89 ROCPPSolverInterface_Ptr pSolver (new ROCPPGurobi ( SolverParams () ) ) ; 90 // Solve the problem 91 pSolver - > solve ( RSFCModelLDRFinal ) ; 131 We consider the instance of RSFC detailed in Appendix A.3.3. The following output is displayed when executing the above code on this instance. =========================================================================== ======================== APPROXIMATING USING LDR ========================== =========================================================================== Total time to approximate : 0 seconds =========================================================================== ================================= ROBUSTIFYING ============================== =========================================================================== 11 of 119 constraints robustified ... 110 of 119 constraints robustified Total time to robustify : 1 seconds =========================================================================== This states that the problem has 119 constraints in total, that the time it took to approximate it was under half a second, and that under 1 second was needed to obtain its robust counterpart. Next, we showcase how optimal solutions to the problem can be retrieved in ROC ++. 92 // Retrieve the optimal solution from the solver 93 map < string ,double > optimalSln ( pSolver - > getSolution () ) ; 94 // Print the optimal decision ( from the original model ) 95 pLDRApprox - > printOut ( RSFCModelLDR , optimalSln , Orders [10]) ) ; The following output is displayed when executing the above code. Order_10 = + 0* Demand_1 + 0* Demand_2 + 0* Demand_3 + 0* Demand_4 + 0* Demand_5 + 0* Demand_6 + 0* Demand_7 + 0* Demand_8 + 1* Demand_9 - 0.794 Thus, the optimal linear decision rule for the amount to order at stage 10 is y o 10(ξ) = ξ9 − 0.794 for this specific instance. To get the optimal objective value of RSFCModelLDR, we can use the following command, which returns 13531.7 in this instance. 96 double optVal ( pSolver - > getOptValue () ) ; 132 A.2.1.4 Variant: Ellipsoidal Uncertainty Set In [30], the authors also investigated ellipsoidal uncertainty sets for the demand. These take the form Ξ := {ξ ∈ R T + : ∥ξ − ξ∥2 ≤ Ω}, where Ω is a safety parameter. Letting Omega represent Ω, this ellipsoidal uncertainty set can be used instead of the box uncertainty set by replacing lines 74-78 in the ROC ++ code for the RSFC problem with the following code: // Create a vector that will contain all the elements of the norm term vector < ROCPPExpr_Ptr > EllipsoidElements ; // Populate the vector with the difference between demand and nominal demand for ( uint t =1; t <= T ; t ++) EllipsoidElements . push_back ( Demand [ t +1] - NominalDemand ) ; // Create the norm term boost :: shared_ptr < ConstraintTermIF > EllipsTerm ( new NormTerm ( EllipsoidElements ) ) ; // Create the ellipsoidal uncertainty constraint RSFCModel - > add_constraint_uncset ( EllipsTerm <= Omega ) ; The solution approach from Section A.2.1.3 applies as is with this ellipsoidal set. The time it takes to robustify the problem is again under half a second. In this case, the optimal objective value under LDRs is 14, 814.3. The optimal linear decision rule is given by: Order_10 = + 0.0305728* Demand_1 + 0.0567* Demand_2 + 0.0739* Demand_3 + 0.0887* Demand_4 + 0.101* Demand_5 + 0.115* Demand_6 + 0.142* Demand_7 + 0.179* Demand_8 + 0.231* Demand_9 - 3.33 A.2.2 Stochastic Best Box Problem with Uncertain Observation Costs We consider a variant of Pandora’s Box problem, known as Best Box (BB), in which observation costs are uncertain and subject to a budget constraint. We assume that the decisionmaker is interested in maximizing the expected value of the box kept. 133 A.2.2.1 Problem description There are I boxes indexed in I := {1, . . . , I} that we can choose or not to open over the planning horizon T := {1, . . . , T}. Opening box i ∈ I incurs an uncertain cost ξ c i ∈ R+. Each box has an unknown value ξ v i ∈ R, i ∈ I. The value of each box and the cost of opening it will only be revealed if the box is opened. The total cost of opening boxes cannot exceed budget B. At each period t ∈ T , we can either open a box or keep one of the opened boxes, earn its value (discounted by θ t−1 ), and stop the search. We assume that box values and costs are uniformly distributed in the set Ξ := n ξ v ∈ R I +, ξ c ∈ R I + : ξ v ≤ ξ v , ξ c ≤ ξ c o , where ξ v , ξ c ∈ R I . In this problem, the box values and costs are endogenous uncertain parameters whose time of revelation can be controlled by the box open decisions. For each i ∈ I, and t ∈ T , we let wv t,i(ξ) and wc t,i(ξ) indicate if parameters ξ v i and ξ c i have been observed on or before time t. In particular wv t,i(ξ) = wc t,i(ξ) for all i, t, and ξ. We assume that w0(ξ) = 0 so that no box is opened before the beginning of the planning horizon. We denote by zt,i(ξ) ∈ {0, 1} the decision to keep box i ∈ I and stop the search at time t ∈ T . The requirement that at most one box be opened at each time t ∈ T and that no box be opened if we have stopped the search can be captured in a manner that parallels constraint (2.5). Similarly, the requirement that only one of the opened boxes can be kept can be modelled using a constraint similar to (2.6). The budget constraint and objective can be expressed compactly as X i∈I ξ c i wv T,i(ξ) ≤ B, and max E "X t∈T X i∈I θ t−1 ξ v i zt,i(ξ) # , respectively. The full model for this problem can be found in Appendix A.5.1. A.2.2.2 Model in ROC ++ We assume that the data, decision variables, and uncertain parameters of the problem have been defined as in Tables A.3 and A.4. 134 Model Parameter C ++ Variable Name C ++ Variable Type C ++ Map Keys B B double NA ξ c i , i ∈ I CostUB map<uint,double> i=1...I ξ v i , i ∈ I ValueUB map<uint,double> i=1...I Table A.3: List of model parameters and their associated C ++ variables for the BB problem. The parameters T(t) and I(i) are as in Table 2.2 and we thus omit them here. Parameter C ++ Nm. C ++ Type C ++ Map Keys wc t,i, i ∈ I, t ∈ T MVcost map<uint,map<uint,ROCPPVarIF Ptr> > 1...T, 1...I wv t,i, i ∈ I, t ∈ T MVval map<uint,map<uint,ROCPPVarIF Ptr> > 1...T, 1...I ξ c i , i ∈ I Cost map<uint,ROCPPUnc Ptr> i=1...I ξ v i , i ∈ I Value map<uint,ROCPPUnc Ptr> i=1...I Table A.4: List of model variables and uncertainties and their associated C ++ variables for the BB problem. The variables zi,t, i ∈ I, t ∈ T , are as in Table 2.3 and we thus omit them here. We create a stochastic model with decision-dependent information discovery as follows. 1 // Create an empty stochastic model with T periods for the BB problem 2 ROCPPOptModelIF_Ptr BBModel (new ROCPPOptModelDDID (T , stochastic ) ) ; To model the requirement that ξ c i and ξ v i must be observed simultaneously, the function pair uncertainties() may be employed in ROC ++. 23 for ( uint i = 1; i <= I ; i ++) 24 BBModel - > pair_uncertainties ( Value [ i ] , Cost [ i ]) ; To build the budget constraint we use the ROC ++ expression AmountSpent. 53 // Constraint on the amount spent 54 ROCPPExpr_Ptr AmountSpent ( new ROCPPExpr () ) ; 55 for ( uint i = 1; i <= I ; i ++) 56 AmountSpent = AmountSpent + Cost [ i ] * MVval [ T ][ i ]; 57 BBModel - > add_constraint ( AmountSpent <= B ) ; The construction of the remaining constraints and of the objective parallels that for the Pandora Box problem and we thus omit it. We refer to A.5.2 for the full code. A.2.2.3 Solution in ROC ++ The BB problem is a multi-stage stochastic problem with decision-dependent information discovery, see [60]. We thus propose to solve it using PWC decision rules. We consider the instance of BB detailed in Appendix A.5.3, which has T = 4 and I = 5. To employ 135 a breakpoint configuration r = (1, 1, 1, 1, 1, 3, 3, 1, 3, 1) for the PWC approximation, we use the following code. 74 // Construct the reformulation orchestrator 75 ROCPPOrchestrator_Ptr pOrch ( new ROCPPOrchestrator () ) ; 76 // Construct the piecewise linear decision rule reformulation strategy 77 // Build the map containing the breakpoint configuration 78 map < string , uint > BPconfig ; 79 BPconfig [" Value_1 "] = 3; 80 BPconfig [" Value_2 "] = 3; 81 BPconfig [" Value_4 "] = 3; 82 ROCPPStrategy_Ptr pPWApprox (new ROCPPPWDR ( BPconfig ) ) ; 83 // Construct the robustify engine reformulation strategy 84 ROCPPStrategy_Ptr pRE (new ROCPPRobustifyEngine () ) ; 85 // Approximate the adaptive decisions using the linear / constant decision rule approximator and robustify 86 vector < ROCPPStrategy_Ptr > strategyVec { pPWApprox , pRE }; 87 ROCPPOptModelIF_Ptr BBModelPWCFinal = pOrch - > Reformulate ( BBModel , strategyVec ) ; Under this breakpoint configuration, the optimal profit is 934.2, compared to 792.5 for the static decision rule. The optimal solution can be printed to screen using the printOut function, see lines 92-97 in A.5.2. Part of the resulting output is On subset 1111112131: Keep_4_4 = 1 Uncertain parameter Value_4 on subset 1111112131 is observed at stage 2 Thus, on subset s = (1, 1, 1, 1, 1, 1, 2, 1, 3, 1), the forth box is kept at time 4. On subset s = (1, 1, 1, 1, 1, 1, 2, 1, 3, 1), box 5 is opened at time 2 (resp. 3). 136 137 A.3 Supplemental Material: Retailer-Supplier Problem A.3.1 Retailer-Supplier Problem: Mathematical Formulation Using the notation introduced in Section A.2.1, the robust RSFC problem can be expressed mathematically as: minimize max ξ∈Ξ X t∈T c o ty o t (ξ) + y dc t (ξ) + y dp t (ξ) + y hs t+1(ξ) subject to y c t ∈ R+ ∀t ∈ T y o t , y dc t , y dp t , y hs t+1 ∈ L1 T ∀t ∈ T x i t+1(ξ) = x i t (ξ) + y o t (ξ) − ξt+1 y o t ≤ y o t (ξ) ≤ y o t , y co t ≤ Pt τ=1 y o τ (ξ) ≤ y co t y dc t ≥ c dc+ t (y c t − y c t−1 ) y dc t ≥ c dc− t (y c t−1 − y c t ) y dp t ≥ c dp+ t (y o t (ξ) − y c t ) y dp t (ξ) ≥ c dp− t (y c t − y o t (ξ)) y hs t+1(ξ) ≥ c h t+1x i t+1(ξ) y hs t+1(ξ) ≥ −c s t+1x i t+1(ξ) ∀t ∈ T , ξ ∈ Ξ y o t (ξ) = y o t (ξ ′ ) y dc t (ξ) = y dc t (ξ ′ ) y dp t (ξ) = y dp t (ξ ′ ) ∀ξ, ξ ′ ∈ Ξ : wt−1 ◦ ξ = wt−1 ◦ ξ ′ , ∀t ∈ T y hs t+1(ξ) = y hs t+1(ξ ′ ) ∀ξ, ξ ′ ∈ Ξ : wt ◦ ξ = wt ◦ ξ ′ , ∀t ∈ T . 138 The last set of constraints corresponds to non-anticipativity constraints. The other constraints are explained in Section A.2.1.1. A.3.2 Retailer-Supplier Problem: Full ROC ++ Code 1 // Create an empty robust model with T + 1 periods for the RSFC problem 2 ROCPPOptModelIF_Ptr RSFCModel (new ROCPPUncMSOptModel ( T +1 , robust ) ) ; 3 // Create the Demand map to store the uncertain parameters of the problem 4 map < uint , ROCPPUnc_Ptr > Demand ; 5 // Iterate over all time periods when there is uncertainty 6 for ( uint t =1; t <= T ; t ++) 7 // Create the uncertain parameters , and add them to Demand 8 Demand [ t ] = ROCPPUnc_Ptr (new ROCPPUnc (" Demand_ "+ to_string ( t ) ,t +1) ) ; 9 // Create maps to store the decision variables of the problem 10 map < uint , ROCPPVarIF_Ptr > Orders , Commits ; // Quantity ordered , Commitments made 11 // Iterate over all time periods from 1 to T 12 for ( uint t =1; t <= T ; t ++) { 13 // Create the commitment variables ( these are static ) 14 Commits [ t ]= ROCPPVarIF_Ptr (new ROCPPStaticVarReal (" Commit_ "+ to_string ( t ) ,0.) ) ; 15 if ( t ==1) // In the first period , the order variables are static 16 Orders [ t ] = ROCPPVarIF_Ptr (new ROCPPStaticVarReal (" Order_ "+ to_string ( t ) , OrderLB [ t ] , OrderUB [ t ]) ) ; 17 else // In the other periods , the order variables are adaptive 18 Orders [ t ] = ROCPPVarIF_Ptr (new ROCPPAdaptVarReal (" Order_ "+ to_string ( t ) ,t , OrderLB [ t ] , OrderUB [ t ]) ) ; 19 } 20 map < uint , ROCPPVarIF_Ptr > MaxDC ; // Upper bound on deviation between commitments 21 map < uint , ROCPPVarIF_Ptr > MaxDP ; // Upper bound on deviation from plan 22 map < uint , ROCPPVarIF_Ptr > MaxHS ; // Upper bound on holding and shortage costs 23 // Iterate over all time periods 1 to T 24 for ( uint t =1; t <= T ; t ++) { 25 // Create upper bounds on the deviation between successive commitments 26 MaxDC [ t ] = ROCPPVarIF_Ptr (new ROCPPStaticVarReal (" MaxDC_ "+ to_string ( t ) ) ) ; 27 // Create upper bounds on the deviation of orders from commitments 28 if ( t ==1) // In the first period , these are static 29 MaxDP [ t ] = ROCPPVarIF_Ptr (new ROCPPStaticVarReal (" MaxDP_ "+ to_string ( t ) ) ) ; 30 else // In the other periods , these are adaptive 31 MaxDP [ t ] = ROCPPVarIF_Ptr (new ROCPPAdaptVarReal (" MaxDP_ "+ to_string ( t ) ,t ) ) ; 32 // Create upper bounds on holding and shortage costs ( these are adaptive ) 33 MaxHS [ t +1]= ROCPPVarIF_Ptr (new ROCPPAdaptVarReal (" MaxHS_ "+ to_string ( t +1) ,t +1) ) ; 139 34 } 35 // Create the constraints of the problem 36 // Create an expression for the amount of inventory held and initialize it 37 ROCPPExpr_Ptr Inventory (new ROCPPExpr () ) ; 38 Inventory = Inventory + InitInventory ; 39 // Create an expression for the cumulative amount ordered 40 ROCPPExpr_Ptr CumOrders (new ROCPPExpr () ) ; 41 // Iterate over all time periods and add the constraints to the problem 42 for ( uint t =1; t <= T ; t ++) { 43 // Create the upper and lower bounds on the cumulative orders 44 CumOrders = CumOrders + Orders [ t ]; 45 RSFCModel - > add_constraint ( CumOrders >= CumOrderLB [ t ]) ; 46 RSFCModel - > add_constraint ( CumOrders <= CumOrderUB [ t ]) ; 47 // Update the inventory 48 Inventory = Inventory + Orders [ t ] - Demand [ t ]; 49 // Create upper bound on shortage / holding costs 50 RSFCModel - > add_constraint ( MaxHS [ t +1] >= HoldingCost [ t +1]* Inventory ) ; 51 RSFCModel - > add_constraint ( MaxHS [ t +1] >= ( -1.* ShortageCost [ t +1]* Inventory ) ) ; 52 } 53 // Iterate over all time periods and add the constraints to the problem 54 for ( uint t =1; t <= T ; t ++) { 55 // Create upper bound on deviations from commitments 56 RSFCModel - > add_constraint ( MaxDP [ t ] >= CostDPp *( Orders [ t ] - Commits [ t ]) ) ; 57 RSFCModel - > add_constraint ( MaxDP [ t ] >= - CostDPm *( Orders [ t ] - Commits [ t ]) ) ; 58 // Create upper bound on deviations between commitments 59 if ( t ==1) { 60 RSFCModel - > add_constraint ( MaxDC [ t ] >= CostDCp *( Commits [ t ] - InitCommit ) ) ; 61 RSFCModel - > add_constraint ( MaxDC [ t ] >= - CostDCm *( Commits [ t ] - InitCommit ) ) ; 62 } 63 else { 64 RSFCModel - > add_constraint ( MaxDC [ t ] >= CostDCp *( Commits [ t ] - Commits [ t -1]) ) ; 65 RSFCModel - > add_constraint ( MaxDC [ t ] >= - CostDCm *( Commits [ t ] - Commits [t -1]) ) ; 66 } 67 } 68 // Create an expression that will contain the objective function 69 ROCPPExpr_Ptr RSFCObj (new ROCPPExpr () ) ; 70 // Iterate over all periods and add the terms to the objective function 71 for ( uint t =1; t <= T ; t ++) 72 RSFCObj = RSFCObj + OrderCost * Orders [ t ] + MaxDC [ t ] + MaxDP [ t ] + MaxHS [ t +1]; 73 RSFCModel - > set_objective ( RSFCObj ) ; // Add the objective to the problem 74 for ( uint t =1; t <= T ; t ++) { 75 // Add the upper and lower bounds on the demand to the uncertainty set 76 RSFCModel - > add_constraint_uncset ( Demand [ t ] >= NomDemand *(1.0 - rho ) ) ; 77 RSFCModel - > add_constraint_uncset ( Demand [ t ] <= NomDemand *(1.0+ rho ) ) ; 140 78 } 79 // Construct the reformulation orchestrator 80 ROCPPOrchestrator_Ptr pOrch ( new ROCPPOrchestrator () ) ; 81 // Construct the linear / constant decision rule reformulation strategy 82 ROCPPStrategy_Ptr pLDR (new ROCPPLinearDR () ) ; 83 // Construct the robustify engine reformulation strategy 84 ROCPPStrategy_Ptr pRE (new ROCPPRobustifyEngine () ) ; 85 // Approximate the adaptive decisions using the linear / constant decision rule approximator and robustify 86 vector < ROCPPStrategy_Ptr > strategyVec { pLDR , pRE }; 87 ROCPPOptModelIF_Ptr RSFCModelLDRFinal = pOrch - > Reformulate ( RSFCModel , strategyVec ) ; 88 // Construct the solver (in this case , use gurobi as deterministic solver ) 89 ROCPPSolverInterface_Ptr pSolver (new ROCPPGurobi ( SolverParams () ) ) ; 90 // Solve the problem 91 pSolver - > solve ( RSFCModelLDRFinal ) ; 92 // Retrieve the optimal solution from the solver 93 map < string ,double > optimalSln ( pSolver - > getSolution () ) ; 94 // Print the optimal decision ( from the original model ) 95 pLDRApprox - > printOut ( RSFCModelLDR , optimalSln , Orders [10]) ) ; 96 // Get the optimal objective value 97 double optVal ( pSolver - > getOptValue () ) ; A.3.3 Retailer-Supplier Problem: Instance Parameters The parameters for the instance of the problem that we solve in Section A.2.1.3 are provided in Table A.5. They correspond to the data from instance W12 in [30]. T x i 1 y c 0 ξ ρ y o t y o t y co t y co t c o t c h t+1 c s t+1 c dc+ t c dc− t c dp+ t c dp− t 12 0 100 100 10% 0 200 0 200t 10 2 10 10 10 10 10 Table A.5: Parameters for the instance of the RSFS problem that we solve in Section A.2.1.3. 141 A.4 Supplemental Material: Robust Pandora’s Box Problem A.4.1 Robust Pandora’s Box Problem: Mathematical Formulation Using the notation introduced in Section 2.3.1, the robust PB problem can be expressed mathematically as: maximize min ξ∈Ξ X t∈T X i∈I θ t−1 ξizt,i(ξ) − ci(wt,i(ξ) − wt−1,i(ξ)) subject to zt,i, wt,i ∈ {0, 1} ∀t ∈ T , ∀i ∈ I X i∈I (wt,i(ξ) − wt−1,i(ξ)) ≤ 1 − X t τ=1 zt,i(ξ) zt,i(ξ) ≤ wt−1,i(ξ) ∀i ∈ I ∀t ∈ T , ξ ∈ Ξ zt,i(ξ) = zt,i(ξ ′ ) wt,i(ξ) = wt,i(ξ ′ ) ∀ξ, ξ ′ ∈ Ξ : wt−1 ◦ ξ = wt−1 ◦ ξ ′ , ∀i ∈ I, ∀t ∈ T . The last set of constraints in this problem are non-anticipativity constraints. The other constraints are explained in Section 2.3.1. A.4.2 Robust Pandora’s Box Problem: Full ROC ++ Code 1 // Create an empty robust model with T periods for the PB problem 2 ROCPPOptModelIF_Ptr PBModel (new ROCPPOptModelDDID (T , robust ) ) ; 3 // Create empty maps to store the uncertain parameters 4 map < uint , ROCPPUnc_Ptr > Value , Factor ; 5 for ( uint i = 1; i <= I ; i ++) 6 // Create the uncertainty associated with box i and add it to Value 7 Value [ i ] = ROCPPUnc_Ptr (new ROCPPUnc (" Value_ "+ to_string ( i ) ) ) ; 8 for ( uint m = 1; m <= M ; m ++) 9 // The risk factors are not observable 10 Factor [ m ]= ROCPPUnc_Ptr (new ROCPPUnc (" Factor_ "+ to_string ( m ) ,1 , false ) ) ; 142 11 map < uint , map < uint , ROCPPVarIF_Ptr > > MeasVar ; 12 for ( uint i = 1; i <= I ; i ++) { 13 // Create the measurement variables associated with the value of box i 14 PBModel - > add_ddu ( Value [ i ] , 1 , T , obsCost [ i ]) ; 15 // Get the measurement variables and store them in MeasVar 16 for ( uint t = 1; t <= T ; t ++) 17 MeasVar [ t ][ i ] = PBModel - > getMeasVar ( Value [ i ] - > getName () , t ) ; 18 } 19 map < uint , map < uint , ROCPPVarIF_Ptr > > Keep ; 20 for ( uint t = 1; t <= T ; t ++) { 21 for ( uint i = 1; i <= I ; i ++) { 22 if ( t == 1) // In the first period , the Keep variables are static 23 Keep [ t ][ i ] = ROCPPVarIF_Ptr (new ROCPPStaticVarBool (" Keep_ "+ to_string ( t ) +"_"+ to_string ( i ) ) ) ; 24 else // In the other periods , the Keep variables are adaptive 25 Keep [ t ][ i ] = ROCPPVarIF_Ptr (new ROCPPAdaptVarBool (" Keep_ "+ to_string ( t ) +"_"+ to_string ( i ) , t ) ) ; 26 } 27 } 28 // Create the constraints and add them to the problem 29 ROCPPExpr_Ptr StoppedSearch ( new ROCPPExpr () ) ; 30 for ( uint t = 1; t <= T ; t ++) { 31 // Create the constraint that at most one box be opened at t ( none if the search has stopped ) 32 ROCPPExpr_Ptr NumOpened (new ROCPPExpr () ) ; 33 // Update the expressions and and the constraint to the problem 34 for ( uint i = 1; i <= I ; i ++) { 35 StoppedSearch = StoppedSearch + Keep [ t ][ i ]; 36 if (t >1) 37 NumOpened = NumOpened + MeasVar [ t ][ i ] - MeasVar [t -1][ i ]; 38 else 39 NumOpened = NumOpened + MeasVar [ t ][ i ]; 40 } 41 PBModel - > add_constraint ( NumOpened <= 1. - StoppedSearch ) ; 42 // Constraint that only one of the open boxes can be kept 43 for ( uint i = 1; i <= I ; i ++) 44 PBModel - > add_constraint ( (t >1) ? ( Keep [ t ][ i ] <= MeasVar [t -1][ i ]) : ( Keep [ t ][ i ] <= 0.) ) ; 45 } 46 // Create the uncertainty set constraints and add them to the problem 47 // Add the upper and lower bounds on the risk factors 48 for ( uint m = 1; m <= M ; m ++) { 49 PBModel - > add_constraint_uncset ( Factor [ m ] >= -1.0) ; 50 PBModel - > add_constraint_uncset ( Factor [ m ] <= 1.0) ; 51 } 52 // Add the expressions for the box values in terms of the risk factors 53 for ( uint i = 1; i <= I ; i ++) { 54 ROCPPExpr_Ptr ValueExpr (new ROCPPExpr () ) ; 55 for ( uint m = 1; m <= M ; m ++) 56 ValueExpr = ValueExpr + RiskCoeff [ i ][ m ]* Factor [ m ]; 143 57 PBModel - > add_constraint_uncset ( Value [ i ] == (1.+0.5* ValueExpr ) * NomVal [ i ] ) ; 58 } 59 // Create the objective function expression 60 ROCPPExpr_Ptr PBObj (new ROCPPExpr () ) ; 61 for ( uint t = 1; t <= T ; t ++) 62 for ( uint i = 1; i <= I ; i ++) 63 PBObj = PBObj + pow ( theta ,t -1) * Value [ i ]* Keep [ t ][ i ]; 64 // Set objective ( multiply by -1 for maximization ) 65 PBModel - > set_objective ( -1.0* PBObj ) ; 66 // Construct the reformulation orchestrator 67 ROCPPOrchestrator_Ptr pOrch ( new ROCPPOrchestrator () ) ; 68 // Construct the finite adaptability reformulation strategy with 2 candidate policies in the each time stage 69 ROCPPStrategy_Ptr pKadaptStrategy (new ROCPPKAdapt ( Kmap ) ) ; 70 // Construct the robustify engine reformulation strategy 71 ROCPPStrategy_Ptr pRE (new ROCPPRobustifyEngine () ) ; 72 // Construct the linearization strategy based on big M constraints 73 ROCPPStrategy_Ptr pBTR (new ROCPPBTR_bigM () ) ; 74 // Approximate the adaptive decisions using the linear / constant decision rule approximator and robustify 75 vector < ROCPPStrategy_Ptr > strategyVec { pKadaptStrategy , pRE , pBTR }; 76 ROCPPOptModelIF_Ptr PBModelKAadapt = pOrch - > Reformulate ( PBModel , strategyVec ) ; 77 // Construct the solver and solve the problem 78 ROCPPSolver_Ptr pSolver (new ROCPPGurobi ( SolverParams () ) ) ; 79 pSolver - > solve ( PBModelKAdapt ) ; 80 // Retrieve the optimal solution from the solver 81 map < string ,double > optimalSln ( pSolver - > getSolution () ) ; 82 // Print the optimal decision ( from the original model ) 83 // Print decision rules for variable Keep_4_2 from the original problem automatically 84 ROCPPKAdapt_Ptr pKadapt = static_pointer_cast < ROCPPKAdapt >( pKadaptStrategy ) ; 85 pKadapt - > printOut ( PBModel , optimalSln , Keep [4][2]) ; 86 // Prints the observation decision for uncertain parameter Value_2 87 pKadapt - > printOut ( PBModel , optimalSln , Value [2]) ; A.4.3 Robust Pandora’s Box Problem: Instance Parameters The parameters for the instance of the robust Pandora’s box problem that we solve in Section 2.3.3 are provided in Table A.6. 144 Parameter Value (θ, T, I, M) (1,4,5,4) c (0.69, 0.43, 0.01, 0.91, 0.64) ξ (5.2, 8, 19.4, 9.6, 13.2) Φ 0.17 −0.7 −0.13 −0.6 0.39 0.88 0.74 0.78 0.17 −0.6 −0.17 −0.84 0.09 −0.07 −0.52 0.88 0.78 0.94 0.43 −0.58 Table A.6: Parameters for the instance of the PB problem that we solve in Section 2.3.3. 145 A.5 Supplemental Material: Stochastic Best Box Problem A.5.1 Stochastic Best Box: Problem Formulation Using the notation introduced in Section A.2.2, the BB problem can be expressed mathematically as: maximize E "X t∈T X i∈I θ t−1 ξ v i zt,i(ξ) # subject to zt,i, wc t,i, wv t,i ∈ {0, 1} ∀t ∈ T , ∀i ∈ I wc t,i(ξ) = wv t,i(ξ) ∀t ∈ T , ∀i ∈ I X i∈I ξ c i wv T,i(ξ) ≤ B X i∈I (wv t,i(ξ) − wv t−1,i(ξ)) ≤ 1 − X t τ=1 zt,i(ξ) zt,i(ξ) ≤ wv t−1,i(ξ) ∀i ∈ I ∀t ∈ T , ξ ∈ Ξ zt,i(ξ) = zt,i(ξ ′ ) wc t,i(ξ) = wc t,i(ξ ′ ) wv t,i(ξ) = wv t,i(ξ ′ ) ∀ξ, ξ ′ ∈ Ξ : wt−1 ◦ ξ = wt−1 ◦ ξ ′ , ∀i ∈ I, ∀t ∈ T . The first set of constraints stipulates that ξ c i and ξ v i must be observed simultaneously. The second set of constraints is the budget constraint. The third set of constraints stipulates that at each stage, we can either open a box or stop the search, in which case we cannot open a box in the future. The fourth set of constraints ensures that we can only keep a box that we have opened. The last set of constraints correspond to decision-dependent non-anticipativity constraints. 146 A.5.2 Stochastic Best Box Problem: Full ROC ++ Code 1 // Create an empty stochastic model with T periods for the BB problem 2 ROCPPOptModelIF_Ptr BBModel (new ROCPPOptModelDDID (T , stochastic ) ) ; 3 map < uint , ROCPPUnc_Ptr > Value , Cost ; 4 for ( uint i = 1; i <= I ; i ++) { 5 // Create the value and cost uncertainties associated with box i 6 Value [ i ] = ROCPPUnc_Ptr (new ROCPPUnc (" Value_ "+ to_string ( i ) ) ) ; 7 Cost [ i ] = ROCPPUnc_Ptr (new ROCPPUnc (" Cost_ "+ to_string ( i ) ) ) ; 8 } 9 // Create the measurement decisions and pair the uncertain parameters 10 map < uint , map < uint , ROCPPVarIF_Ptr > > MVcost , MVval ; 11 for ( uint i = 1; i <= I ; i ++) { 12 // Create the measurement variables associated with the value of box i 13 BBModel - > add_ddu ( Value [ i ] , 1 , T , obsCost ) ; 14 // Create the measurement variables associated with the cost of box i 15 BBModel - > add_ddu ( Cost [ i ] , 1 , T , obsCost ) ; 16 // Get the measurement variables and store them in MVval and MVcost 17 for ( uint t = 1; t <= T ; t ++) { 18 MVval [ t ][ i ] = BBModel - > getMeasVar ( Value [ i ] - > getName () , t ) ; 19 MVcost [ t ][ i ] = BBModel - > getMeasVar ( Cost [ i ] - > getName () , t ) ; 20 } 21 } 22 // Pair the uncertain parameters to ensure they are observed at the same time 23 for ( uint i = 1; i <= I ; i ++) 24 BBModel - > pair_uncertainties ( Value [ i ] , Cost [ i ]) ; 25 // Create the keep decisions 26 map < uint , map < uint , ROCPPVarIF_Ptr > > Keep ; 27 for ( uint t = 1; t <= T ; t ++) { 28 for ( uint i = 1; i <= I ; i ++) { 29 if ( t == 1) // In the first period , the Keep variables are static 30 Keep [ t ][ i ] = ROCPPVarIF_Ptr (new ROCPPStaticVarBool (" Keep_ "+ to_string ( t ) +"_"+ to_string ( i ) ) ) ; 31 else // In the other periods , the Keep variables are adaptive 32 Keep [ t ][ i ] = ROCPPVarIF_Ptr (new ROCPPAdaptVarBool (" Keep_ "+ to_string ( t ) +"_"+ to_string ( i ) , t ) ) ; 33 } 34 } 35 // Create the constraints and add them to the problem 36 ROCPPExpr_Ptr StoppedSearch ( new ROCPPExpr () ) ; 37 for ( uint t = 1; t <= T ; t ++) { 38 // Create the constraint that at most one box be opened at t ( none if the search has stopped ) 39 ROCPPExpr_Ptr NumOpened (new ROCPPExpr () ) ; 40 // Update the expressions and and the constraint to the problem 41 for ( uint i = 1; i <= I ; i ++) { 42 StoppedSearch = StoppedSearch + Keep [ t ][ i ]; 43 if (t >1) 44 NumOpened = NumOpened + MVval [ t ][ i ] - MVval [t -1][ i ]; 147 45 else 46 NumOpened = NumOpened + MVval [ t ][ i ]; 47 } 48 BBModel - > add_constraint ( NumOpened <= 1. - StoppedSearch ) ; 49 // Constraint that only one of the open boxes can be kept 50 for ( uint i = 1; i <= I ; i ++) 51 BBModel - > add_constraint ( (t >1) ? ( Keep [ t ][ i ] <= MVval [t -1][ i ]) : ( Keep [ t ][ i ] <= 0.) ) ; 52 } 53 // Constraint on the amount spent 54 ROCPPExpr_Ptr AmountSpent ( new ROCPPExpr () ) ; 55 for ( uint i = 1; i <= I ; i ++) 56 AmountSpent = AmountSpent + Cost [ i ] * MVval [ T ][ i ]; 57 BBModel - > add_constraint ( AmountSpent <= B ) ; 58 // Create the uncertainty set constraints and add them to the problem 59 for ( uint i = 1; i <= I ; i ++) { 60 // Add the upper and lower bounds on the values 61 BBModel - > add_constraint_uncset ( Value [ i ] >= 0.) ; 62 BBModel - > add_constraint_uncset ( Value [ i ] <= ValueUB [ i ]) ; 63 // Add the upper and lower bounds on the costs 64 BBModel - > add_constraint_uncset ( Cost [ i ] >= 0.) ; 65 BBModel - > add_constraint_uncset ( Cost [ i ] <= CostUB [ i ]) ; 66 } 67 // Create the objective function expression 68 ROCPPExpr_Ptr BBObj (new ROCPPExpr () ) ; 69 for ( uint t = 1; t <= T ; t ++) 70 for ( uint i = 1; i <= I ; i ++) 71 BBObj = BBObj + pow ( theta ,t -1) * Value [ i ]* Keep [ t ][ i ]; 72 // Set objective ( multiply by -1 for maximization ) 73 BBModel - > set_objective ( -1.0* BBObj ) ; 74 // Construct the reformulation orchestrator 75 ROCPPOrchestrator_Ptr pOrch ( new ROCPPOrchestrator () ) ; 76 // Construct the piecewise linear decision rule reformulation strategy 77 // Build the map containing the breakpoint configuration 78 map < string , uint > BPconfig ; 79 BPconfig [" Value_1 "] = 3; 80 BPconfig [" Value_2 "] = 3; 81 BPconfig [" Value_4 "] = 3; 82 ROCPPStrategy_Ptr pPWApprox (new ROCPPPWDR ( BPconfig ) ) ; 83 // Construct the robustify engine reformulation strategy 84 ROCPPStrategy_Ptr pRE (new ROCPPRobustifyEngine () ) ; 85 // Approximate the adaptive decisions using the linear / constant decision rule approximator and robustify 86 vector < ROCPPStrategy_Ptr > strategyVec { pPWApprox , pRE }; 87 ROCPPOptModelIF_Ptr BBModelPWCFinal = pOrch - > Reformulate ( BBModel , strategyVec ) ; 88 // Construct the solver ; in this case , use the gurobi solver as a deterministic solver 89 ROCPPSolverInterface_Ptr pSolver (new ROCPPGurobi ( SolverParams () ) ) ; 90 // Solve the problem 91 pSolver - > solve ( BBModelPWCFinal ) ; 148 92 // Retrieve the optimal solution from the solver 93 map < string ,double > optimalSln ( pSolver - > getSolution () ) ; 94 // Print the optimal decision ( from the original model ) 95 ROCPPPWDR_Ptr pPWApproxDR = static_pointer_cast < PiecewiseDecisionRule >( pPWApprox ) ; 96 pPWApproxDR - > printOut ( BBModel , optimalSln , Keep [3][5]) ; 97 pPWApproxDR - > printOut ( BBModel , optimalSln , Value [5]) ; A.5.3 Stochastic Best Box: Instance Parameters The parameters for the instance of the stochastic best box problem that we solve in Section A.2.2.3 are provided in Table A.7. T I B θ ξ c ξ v 4 5 163 1 (40,86,55,37,30) (1030,1585,971,971,694) Table A.7: Parameters for the instance of the BB problem that we solve in Section A.2.2.3. 149 Appendix B Omitted Proofs in Chapter 3 B.1 Proof of Theorem 1 We first state the following lemma, which can further be used to prove the strong duality result in Theorem 1. Lemma 1. The point (1, c) resides in the interior of the convex cone V = (a, b) ∈ R × R Ng : ∃µ ∈ M+(Ξ) such that R µ(dξ) = a, R g(ξ)µ(dξ) ≤ b . (B.1) Proof. Proof of Lemma 1 Let Br(o) be the closed Euclidean ball of radius r ≥ 0 centered at o. Choose any point (s, s) ∈ Bκ(1) × Bκ(c), where κ is a sufficiently small constant. Consider a point ˜ξ ∈ int Ξ such that g( ˜ξ) < c. The existence of such a point is guaranteed by the Slater condition. Because the function g is continuous, we can always find a ˜ξ also be the interior point of Ξ. Next, consider a scaled Dirac measure s · δξ˜/sthat places mass s at ˜ξ/s. By construction, this measure satisfies R s · δξ˜/s(dξ) = s. Moreover, for sufficiently small κ the measure is supported on Ξ (since ˜ξ ∈ int Ξ) and satisfies R g(ξ)s · δξ˜/s(dξ) ≤ s (since g( ˜ξ) < c and the function g is continuous). 150 Proof. Proof of Theorem 1 For fixed x, w, y(·), we can express the objective function of (3.1) as the optimal value of the moment problem: maximize Z Ξ ξ ⊤C x + ξ ⊤D w + ξ ⊤Q y(ξ) µ(dξ) subject to µ ∈ M+(R Nξ ) Z Ξ µ(dξ) = 1 Z Ξ g(ξ)µ(dξ) ≤ c. (B.2) The dual problem is given by: minimize ϕ + c ⊤ψ subject to ϕ ∈ R, ψ ∈ R Ng + ϕ + ψ⊤g(ξ) ≥ ξ ⊤C x + ξ ⊤D w + ξ ⊤Q y(ξ) ∀ξ ∈ Ξ. (B.3) Strong duality holds by Lemma 1 and [163, Proposition 3.4]. Eliminating the variable ϕ and combining with the outer minimization for (x, w, y(·)), we get: minimize max ξ∈Ξ c ⊤ψ + ξ ⊤C x + ξ ⊤D w + ξ ⊤Q y(ξ) − ψ ⊤g(ξ) subject to ψ ∈ R Ng + , x ∈ X , w ∈ W y(ξ) ∈ Y T (ξ)x + V (ξ)w + W(ξ)y(ξ) ≤ Hξ ∀ξ ∈ Ξ y(ξ) = y(ξ ′ ) ∀ξ, ξ ′ ∈ Ξ : w ◦ ξ = w ◦ ξ ′ . (B.4) 151 The problem can be interpreted as a two-stage robust optimization with DDID, where the dual multipliers ψ constitute first-stage decisions. We next cite [114, Theorem 1] which relates multi-stage robust optimization problem with DDID to the nested formulation. To keep the paper self-contained, we provide a proof sketch below. We first show that problem (3.4) lower bounds (B.4). Let (x, w, ψ, y(·)) be the optimal solution of problem (B.4). By construction, (x, w, ψ) is also feasible to (3.4). For any fixed ξ, we set y ′ (ξ) ∈ argmin y∈Y max ξ∈Ξ(w,ξ) c ⊤ψ + ξ ⊤C x + ξ ⊤D w + ξ ⊤Q y − ψ⊤g(ξ) s.t. T (ξ)x + V (ξ)w + W(ξ)y ≤ Hξ ∀ξ ∈ Ξ(w, ξ) . It holds that: max ξ∈Ξ max ξ∈Ξ(w,ξ) c ⊤ψ + ξ ⊤Cx + ξ ⊤Dw + ξ ⊤Qy′ (ξ) − ψ ⊤g(ξ) = max ξ∈Ξ c ⊤ψ + ξ ⊤Cx + ξ ⊤Dw + ξ ⊤Qy′ (ξ) − ψ ⊤g(ξ) ≤ max ξ∈Ξ c ⊤ψ + ξ ⊤Cx + ξ ⊤Dw + ξ ⊤Qy(ξ) − ψ ⊤g(ξ) (B.5) Thus, we have shown that the optimal solution of (B.4) is feasible to (3.4) with an objective value no greater than the one attained in (B.4). Next, we show conversely that problem (B.4) lower bounds (3.4). To this end, let (x, w, ψ) be the optimal solution in (3.4) and define y(ξ) = y ′ (w ◦ ξ). By construction, the quadru152 ple (x, w, ψ, y(ξ)) is feasible in (B.4) and attain the objective value: max ξ∈Ξ c ⊤ψ + ξ ⊤Cx + ξ ⊤Dw + ξ ⊤Qy(ξ) − ψ ⊤g(ξ) = max ξ∈Ξ max ξ∈Ξ(w,ξ) c ⊤ψ + ξ ⊤Cx + ξ ⊤Dw + ξ ⊤Qy′ (ξ) − ψ ⊤g(ξ) (B.6) which is the same value attained in (3.4). Thus, we have shown that the optimal objective values attained by the two problems coincide. And we can construct an optimal solution in problem (B.4) from the optimal solution in (3.4). This completes the proof. B.2 Proof of Theorem 3 Applying the uncertainty set lifting procedure in [114, Lemma 1] to problem (3.5), we can lift the space of the uncertainty set in the inner maximization, exchange it with the inner minimization and finally get the equivalent min-max-min problem min c ⊤ψ + max {ξ k}k∈K∈ΞK(w) min k∈K (ξ k ) ⊤C x + (ξ k ) ⊤D w + (ξ k ) ⊤Q yk − ψ⊤g(ξ k ) : T (ξ)x + V (ξ)w + W(ξ)y k ≤ Hξ s.t. ψ ∈ R Ng + , x ∈ X , w ∈ W, y k ∈ Y ∀k ∈ K, (B.7) where Ξ K(w) := n {ξ k }k∈K ∈ Ξ : ∃ ξ ∈ Ξ such that ξ k ∈ Ξ(w, ξ) ∀ k ∈ Ko . (B.8) We then shift the second stage constraints into the uncertainty set and formulate the K153 adaptability problem with constraint uncertainty (3.5) equivalently as: min c ⊤ψ + max ℓ∈L max {ξ k}k∈K∈ΞK(w,ℓ) min k∈K: ℓk=0 n (ξ k ) ⊤C x + (ξ k ) ⊤D w + (ξ k ) ⊤Q y − ψ ⊤g(ξ k ) o s.t. ψ ∈ R Ng + , x ∈ X , w ∈ W, y k ∈ Y ∀k ∈ K, (B.9) where L := {1, . . . , L} K, L is the number of second-stage constraints with uncertainty in problem (3.5). The uncertainty sets ΞK(w, ℓ), ℓ ∈ L, are defined as Ξ K(w, ℓ) := w ◦ ξ k = w ◦ ξ ∀k ∈ K for some ξ ∈ Ξ n ξ k o k∈K ∈ Ξ K : T (ξ k )x + V (ξ k )w + W(ξ k )y k ≤ Hξk ∀k ∈ K : ℓk = 0 h T (ξ k )x + V (ξ k )w + W(ξ k )y k i ℓk > h Hξk i ℓk ∀k ∈ K : ℓk ̸= 0 . (B.10) The components of vector ℓ ∈ L encode which policies are robust feasible for the parameter realizations n ξ k o k∈K . Policy y k is robust feasible in problem (3.5) if ℓk = 0. If ℓk ̸= 0, then the ℓk-th constraint in Problem (3.5) is violated for some ξ ∈ Ξ(w, ξ). The Problem (B.9) involves many open uncertainty sets. Thus, we employ inner approximations ΞK ϵ (w, ℓ) of the uncertainty sets (B.10) that are parameterized by scalar ϵ. The approximate problem is of the form: min c ⊤ψ + max ℓ∈L max {ξ k}k∈K ∈ΞKϵ (w,ℓ) min k∈K: ℓk=0 n (ξ k ) ⊤C x + (ξ k ) ⊤D w + (ξ k ) ⊤Q y − ψ ⊤g(ξ k ) o s.t. ψ ∈ R Ng + , x ∈ X , w ∈ W, y k ∈ Y ∀k ∈ K, (B.11) 154 where Ξ K ϵ (w, ℓ) := w ◦ ξ k = w ◦ ξ ∀k ∈ K : ∃ ξ ∈ Ξ n ξ k o k∈K ∈ Ξ K : T (ξ k )x + V (ξ k )w + W(ξ k )y k ≤ Hξk ∀k ∈ K : ℓk = 0 h T (ξ k )x + V (ξ k )w + W(ξ k )y k i ℓk ≥ h Hξk i ℓk + ϵ ∀k ∈ K : ℓk ̸= 0 We next reformulate the approximate problem (B.11) as a mixed binary bilinear program. The outer maximization of the approximation problem (B.11) is identical to max ℓ∈L max {ξ k}k∈K ∈ΞKϵ (w,ℓ) min δ∈∆K(ℓ) X k∈K δk ξ k ⊤ Cx + ξ k ⊤ Dw + ξ k ⊤ Qyk − ψ ⊤g(ξ) , (B.12) where ∆K(ℓ) := n δ ∈ R K + : e ⊤δ = 1, δk = 0 ∀k ∈ K : ℓk ̸= 0o . If ΞK ϵ (w, ℓ) = ∅ for all ℓ ∈ L+, apply the min-max theorem, the problem is equivalent to min δ(ℓ)∈∆K(ℓ), max ℓ∈∂L max {ξ k}k∈K ∈ΞKϵ (w,ℓ) X k∈K δk ξ k ⊤ Cx + ξ k ⊤ Dw + ξ k ⊤ Qyk − ψ ⊤g(ξ) . (B.13) Use an epigraph formulation, we conclude that (B.11) has an equivalent epigraph formula155 tion: maximize τ subject to x ∈ X , w ∈ W, y k ∈ Y, k ∈ K, ψ ∈ R Ng + τ ∈ R, δ(ℓ) ∈ ∆K(ℓ), ℓ ∈ ∂L τ ≥ P k∈K δk(ℓ) ξ k ⊤ Cx + ξ k ⊤ Dw + ξ k ⊤ Qyk − ψ⊤g(ξ) ∀ℓ ∈ ∂L, n ξ k o k∈K ∈ Ξ K ϵ (w, ℓ) Ξ K ϵ (w, ℓ) = ∅ ∀ℓ ∈ L+. (B.14) The semi-infinite constraint associated with ℓ ∈ ∂L is satisfied if and only if the optimal value of maximize P k∈K δk(ℓ) ξ k ⊤ Cx + ξ k ⊤ Dw + ξ k ⊤ Qyk + ψ⊤ζ k subject to ξ ∈ R Nξ , ξ k ∈ R Nξ , k ∈ K Aξ ≤ b Aξk ≤ b ∀k ∈ K T (ξ k )x + V (ξ k )w + W(ξ k )y k ≤ Hξk ∀k ∈ K : ℓk = 0 h T (ξ k )x + V (ξ k )w + W(ξ k )y k i ℓk ≥ h Hξk i ℓk + ϵ ∀k ∈ K : ℓk ̸= 0 w ◦ ξ k = w ◦ ξ ∀k ∈ K ζ k s ≤ −g ⊤ s,tξ k ∀s ∈ S, ∀t ∈ T , ∀k ∈ K (B.15) does not exceed τ . 156 The last constraint in (B.14) is satisfied for ℓ ∈ L whenever the linear program problem maximize 0 subject to ξ ∈ R Nξ , ξ k ∈ R Nξ , k ∈ K Aξ ≤ b Aξk ≤ b ∀k ∈ K w ◦ ξ k = w ◦ ξ ∀k ∈ K h T (ξ k )x + V (ξ k )w + W(ξ k )y k i ℓk ≥ h Hξk i ℓk + ϵ ∀k ∈ K (B.16) is infeasible. Strong duality holds for both (B.15) and (B.16). After taking dualization of (B.15), (B.16) and combining the dual problem with the the outer minimization problem, 157 we can get the following problem. min c ⊤ψ + τ s.t. x ∈ X , w ∈ W, y k ∈ Y, k ∈ K, τ ∈ R, ψ ∈ R Ng + α(ℓ) ∈ R R +, αk (ℓ) ∈ R R +, k ∈ K, η k (ℓ) ∈ R Nξ , k ∈ K, Λk (l) ∈ R Ng×T + k ∈ K δ(ℓ) ∈ ∆K(ℓ), β k (ℓ) ∈ R L +, k ∈ K, γ(ℓ) ∈ R K + A⊤α(ℓ) = P k∈K w ◦ η k (ℓ) δk(ℓ)ψ = Λk (ℓ)e δk(ℓ) h Cx + Dw + Qyk i − PL l=1 Tlx + Vlw + Wly k β k l (ℓ) = A⊤αk (ℓ) − H⊤β k (ℓ) + w ◦ η k (ℓ) + P s∈S P t∈T Λst(ℓ)gst ∀k ∈ K : ℓk = 0 δk(ℓ) h Cx + Dw + Qyk i + Tℓk x + Vℓkw + Wℓk y k γk(ℓ) = A⊤αk (ℓ) + [H]ℓk γk(ℓ) + w ◦ η k (ℓ) + P s∈S P t∈T Λst(ℓ)gst ∀k ∈ K : ℓk ̸= 0 τ ≥ b ⊤ α(ℓ) + P k∈K αk (ℓ) − ϵ P k∈K: ℓk ̸=0 γk(ℓ) ∀ℓ ∈ ∂L ϕ(ℓ) ∈ R R +, ϕ k (ℓ) ∈ R R +, k ∈ K, ρ(ℓ) ∈ R k +, χ k (ℓ) ∈ R Nξ , k ∈ K A⊤ϕ(ℓ) = P k∈K w ◦ χ k (ℓ) A⊤ϕ k (ℓ) + [H]ℓk ρk(ℓ) + w ◦ χ k (ℓ) = Tℓk x + Vℓkw + Wℓk y k ρk(ℓ) ∀k ∈ K b ⊤ ϕ(ℓ) + P k∈K ϕ k (ℓ) ! − ϵ P k∈K ρk(ℓ) ≤ −1 ∀ℓ ∈ L+, (B.17) where L := {1, . . . , L} K, ∆K(ℓ) := n δ ∈ R K + : e ⊤δ = 1, δk = 0 ∀k ∈ K : ℓk ̸= 0o , ∂L := {ℓ ∈ L : ℓ ̸> 0} and L + := {ℓ ∈ L : ℓ > 0}. Matrices Tl , Vl , Wl are the coefficient matrices 158 in the lth constraint, in other words, [T (ξ)]l = ξ ⊤Tl , [V (ξ)]l = ξ ⊤Vl , [W(ξ)]l = ξ ⊤Wl . B.3 Proof of Theorem 2 We linearize the vector g(ξ) of piecewise linear functions by introducing an epigraph uncertain parameter ζs for gs(ξ), ∀s ∈ S and write the inner maximization problem in the following epigraph form: maximize τ subject to τ ∈ R, ξ ∈ R Nξ , ξ k ∈ R Nξ , k ∈ K τ ≤ (ξ k ) ⊤C x + (ξ k ) ⊤D w + (ξ k ) ⊤Q yk − ψ⊤ζ k ∀k ∈ K Aξ ≤ b Aξk ≤ b ∀k ∈ K w ◦ ξ k = w ◦ ξ ∀k ∈ K ζ k s ≤ −g ⊤ s,tξ k ∀s ∈ S, ∀t ∈ T , ∀k ∈ K. (B.18) Problem (B.18) is a feasible LP problem so strong duality implies that it has the same optimal value as its dual problem. Dualizing and grouping with the outer minimization yields problem (3.7) in Theorem 2. B.4 Proof of Proposition 1 For any feasible solution (ϕ, x, (y k )k∈K) to (IPw(Ξ)), we show that it is also feasible to (IPw) with the same or lower objective value. Let (Ξk )k∈K be the corresponding optimal partition. Since (Ξk )k∈K exhausts all points in Ξ, we see that (ϕ, x, (y k )k∈K) is indeed 159 feasible to (IPw) because for any ξ ∈ Ξ there must exist k ∈ K such that ξ ∈ Ξ k and, therefore, y k is feasible to the inner minimization problem. Next, we show that the optimal objective value of (IPw) is at most θ by bounding it from above, as follows: max ξ∈Ξ min k∈K max ξ∈Ξ(w,ξ) c ⊤ψ + ξ ⊤C x + ξ ⊤D w + ξ ⊤Q yk − ψ ⊤g(ξ) s.t. T (ξ)x + V (ξ)w + W(ξ)y k ≤ Hξ ∀ξ ∈ Ξ(w, ξ) = max j∈K max ξ∈Ξj min k∈K max ξ∈Ξ(w,ξ) c ⊤ψ + ξ ⊤C x + ξ ⊤D w + ξ ⊤Q yk − ψ ⊤g(ξ) s.t. T (ξ)x + V (ξ)w + W(ξ)y k ≤ Hξ ∀ξ ∈ Ξ(w, ξ) ≤ max j∈K max ξ∈Ξj max ξ∈Ξ(w,ξ) c ⊤ψ + ξ ⊤C x + ξ ⊤D w + ξ ⊤Q yj − ψ ⊤g(ξ) ≤ θ. (B.19) Here, the first inequality holds because we do not optimize for the best index k but instead simply set it to the index j from the outer maximization. Conversely, we show that any feasible solution (ϕ, x, (y k )k∈K) to (IPw) is also feasible to (IPw(Ξ)) with the same or lower objective value. To this end, we construct a partition feasible to (IPw(Ξ)), as follows: Ξ j = ξ ∈ Ξ : j ∈ argmin k∈K max ξ∈Ξ(w,ξ) ξ ⊤C x + ξ ⊤D w + ξ ⊤Q yk − ψ ⊤g(ξ) s.t. T (ξ)x + V (ξ)w + W(ξ)y k ≤ Hξ ∀ξ ∈ Ξ(w, ξ) ∀j ∈ K. The set Ξj contains all points ξ ∈ Ξ for which the policy y j is optimal to the secondstage subproblem. Under this partition, one can verify that the solution (ϕ, x, (y k )k∈K) is feasible to (IPw(Ξ)) with the same objective value. Since the partition can still be optimized, we conclude that the optimal value of problem (IPw(Ξ)) is at most equal to that 160 of problem (IPw), which completes the proof. B.5 Proofs of Omitted Theorems in Section 3.4.2 Theorem 10. Problem (IPout w ) is equivalent to the following MIP problem max z s.t. z ∈ R, ξ ∈ R Nξ , ξ k ∈ R Nξ , ∀k ∈ K, zkl ∈ {0, 1},(k, l) ∈ K × {0, 1, . . . , L} Aξ ≤ b Aξk ≤ b w′ ◦ ξ k = w′ ◦ ξ zk0 = 1 ⇒ z ≤ c ⊤ψ′ + ξ k⊤C x′ + ξ k⊤D w′ + ξ k⊤Q yk ′ − ψ′⊤ g(ξ k ) − θ zkl = 1 ⇒ z ≤ ξ k⊤ Tlx ′ + ξ k⊤ Vlw′ + ξ k⊤Wly k ′ − Hlξ ∀l ∈ {1, . . . , L} PL l=0 zkl = 1 ∀k ∈ K. (B.20) Proof. Proof of Theorem 10 Following the same uncertainty lifting procedure that we used in the proof of Theorem 3 we can write (IPout w ) as the following equivalent max-min-max problem. max {ξ k}k∈K∈ΞK(w′) min k∈K max n c ⊤ψ′ + (ξ k ) ⊤C x′ + (ξ k ) ⊤D w′ + (ξ k ) ⊤Q yk ′ − ψ′⊤ g(ξ k ) − θ ′ , max l∈{1,...,L} n ξ ⊤Tlx ′ + ξ ⊤Vlw′ + ξ ⊤Wly k ′ − Hlξ o ) . (B.21) 161 where ΞK(w′ ) has the same definition as (B.8). Then, using an epigraph to represent the minimization problem over k and assigning indicator variables for each objective of the inner maximization, we can write problem (B.21) as (B.20). Theorem 11. Problem (IP′ w({ bΞ k}k∈K)) admits an equivalent deterministic counterpart whose size grows linearly with the cardinality of bΞ. Proof. Proof of Theorem 11 For each k ∈ K, consider any scenario ξ ∈ bΞ k , the maximization problem at the right hand-side of the first constraint of problem (IP′ w({ bΞ k}k∈K)) can be written as max ξ ⊤C x + ξ ⊤D w + ξ ⊤Q yk + ψ⊤ζ s.t. ξ ∈ R Nξ Aξ ≤ b w ◦ ξ k = w ◦ ξ ζs ≤ −g ⊤ s,tξ k ∀s ∈ S, ∀t ∈ T . (B.22) This linear program admits a strong dual given by the minimization problem min b ⊤β(ξ) + w ◦ ξ ⊤ γ(ξ) s.t. β(ξ) ∈ R R +, γ(ξ) ∈ R Nξ , δ(ξ)s,t ∈ R+, ∀s ∈ S, ∀t ∈ T A⊤β(ξ) + X s∈S X t∈T δ(ξ)s,tgs,t + w ◦ γ(ξ) = Cx + Dw + Qyk X t∈T δ(ξ)t = ψ. (B.23) Similarly, in the second set of constraints, for any scenario ξ ∈ Ξ k , the maximization 162 problem on the left hand-side of the lth constraint can be written as max ξ ⊤Tlx + ξ ⊤Vlw + ξ ⊤Wly k − Hlξ s.t. ξ ∈ R Nξ Aξ ≤ b w ◦ ξ = w ◦ ξ. (B.24) Dualizing, we obtain the following minimization problem whose optimal value coincides with the primal: min b ⊤α(ξ)l + w ◦ ξ ⊤ η(ξ)l s.t. α(ξ)l ∈ R R +, η(ξ)l ∈ R Nξ A⊤α(ξ)l + w ◦ η(ξ)l = Tlx + Vlw + Wly k − H⊤ l , (B.25) Therefore, replacing the constraints in (IP′ w({ bΞ k}k∈K)) with the respective dual refor163 mulations (B.23) and (B.25), we can write (IP′ w({ bΞ k}k∈K)) as the deterministic problem min θ s.t. θ ∈ R, ψ ∈ R Ng + , x ∈ X , y k ∈ Y ∀k ∈ K β(ξ) ∈ R R +, γ(ξ) ∈ R Nξ , δ(ξ)s,t ∈ R+, ∀s ∈ S, ∀t ∈ T α(ξ)l ∈ R R +, η(ξ)l ∈ R Nξ , ∀l ∈ L θ ≥ c ⊤ψ + b ⊤β(ξ) + w ◦ ξ ⊤ γ(ξ) A⊤β(ξ) + P s∈S P t∈T δ(ξ)s,tgs,t + w ◦ γ(ξ) = Cx + Dw + Qyk X t∈T δ(ξ)t = ψ b ⊤α(ξ)l + w ◦ ξ ⊤ η(ξ)l ≤ 0 A⊤α(ξ)l + w ◦ η(ξ)l = Tlx + Vlw + Wly k − H⊤ l ∀l ∈ L ∀ξ ∈ bΞ k , ∀k ∈ K, (B.26) where S k∈K bΞ k = bΞ. Note that whenever a new scenario ξ is added in to the set bΞ, we need to add a set of dual variables (β(ξ), γ(ξ), δ(ξ), {α(ξ)l , η(ξ)l}l∈L) into the deterministic problem (B.26). B.6 Proof of Theorem 4 Lemma 2. If problem (IPw) is feasible, then ψ admits a finite optimal solution. Proof. Proof of Lemma 2 Consider the equivalent reformulation (B.4) of problem (3.1) in the proof of Theorem 1. By Lemma 1 and [163, Proposition 3.4], for any feasible x, w, y(ξ), the optimal solution ψ is attained by the dual problem. This attainment also holds when we restrict y(ξ) in (B.4)) to feasible K-adaptable policies. The claim then follows since problem 164 (IPw) constitutes an equivalent K-adaptable reformulation of (B.4). Lemma 3. The cutting-plane algorithm for solving the scenario based problem (IP′ w({ bΞ k}k∈K)) converges in finitely many iterations. Proof. Proof of Lemma 3Fix ψ, x, w, y. For any ξ, the left hand-side of the second set of constraints in problem (IPin w) are linear maximization problems over a polyhedron Ξ(w, ξ). On the other hand, the first maximization problem for each policy k, k = 1, . . . K has the equivalent reformulation max ξ, ζ ξ ⊤C x + ξ ⊤D w + ξ ⊤Q yk − ψ⊤ζ + c ⊤ψ − θ ∗ s.t. Aξ ≤ b w ◦ ξ = w ◦ ξ ζs ≥ g ⊤ s,tξ ∀s ∈ S, ∀t ∈ T , (B.27) which is also linear maximization problem over a polyhedron. Thus, [164, Corollary 2.1] guarantees the finite convergence of the cutting-plane algorithm. Proof. Proof of Theorem 4 We first establish the correctness of the algorithm after termination. If problem (IPw) is infeasible, then in the branch-and-cut algorithm there is no solution that can give a negative objective value in problem (IPout w ) and be identified as feasible. Assume now that problem (IPw) is feasible and let (θ ⋆ , ψ∗ , x ∗ , {y k} ⋆ k∈K) be an optimal solution with the objective value θ ⋆ . The branch-and-cut tree must have a leaf node since it terminates. Consider an arbitrary leaf node in the branch-and-cut tree for which the optimal solution (θ ⋆ , ψ∗ , x ∗ , {y k} ⋆ k∈K) is feasible. Such a leaf node exists because the optimal solution is feasible in the root node, and our branching mechanism ensures that the feasibility is maintained in at least a child node every time the algorithm branches. By definition, the leaf node was not branched. The node could have been fathomed in 165 Step 1, where the current incumbent solution must also be optimal since it weakly dominates (θ ⋆ , ψ∗ , x ∗ , {y k} ⋆ k∈K). Otherwise, the node could have been fathomed in Step 3, where the incumbent solution was updated to (θ ⋆ , ψ∗ , x ∗ , {y k} ⋆ k∈K). For the asymptotic result, within any infinite branch, the finite convergence result derived in Lemma 3 ensures the existence of an infinite sequence of solutions at Step 1 in Algorithm 3. For each solution in this sequence, the value vk ⋆ obtained by solving problem (IPin w) is less than or equal to 0. We denote the sequence as {(θ n , ψn , x n , {y k} n k∈K)} +∞ 1 and the associated solutions of the separation problem as {ξ n} +∞ 1 , where n is the order of node appear in the branch. Since X and Y are compact sets, and the optimal solution ψ is attained by Lemma 2, the Bolzano–Weierstrass theorem implies that the sequence {(θ n , ψn , x n , {y k} n k∈K), ξ n} +∞ 1 has at least one accumulation point, denoted as {(θ ⋆ , ψ⋆ , x ⋆ , {y k} ⋆ k∈K), ξ ⋆}. We first prove the feasibility of the accumulation point. Denote the value of problem (IPout w ) under the solution (θ, ψ, x, {y k}k∈K) and scenario ξ as z((θ, ψ, x, {y k}k∈K), ξ). Suppose that, given the accumulation solution (θ ⋆ , ψ⋆ , x ⋆ , {y k} ⋆ k∈K), there exists a scenario ξ ′ such that z((θ ⋆ , ψ⋆ , x ⋆ , {y k} ⋆ k∈K), ξ ′ ) > 0. Since problem (IPout w ) finds the worst case scenario for the solution (θ ⋆ , ψ⋆ , x ⋆ , {y k} ⋆ k∈K), the largest violation z((θ ⋆ , ψ⋆ , x ⋆ , {y k} ⋆ k∈K), ξ ⋆ ) ≥ z((θ ⋆ , ψ⋆ , x ⋆ , {y k} ⋆ k∈K), ξ ′ ) > 0. The violation of the sequence {(θ n+1 , ψn+1 , x n+1 , {y k} n+1k ∈ K), ξ n )} is always less than zero, and the sequence also converges to the same accumulation point. Thus, we have z((θ ⋆ , ψ⋆ , x ⋆ , {y k} ⋆ k∈K), ξ ⋆ ) ≤ 0 and raise the desired contradiction. We now show the optimality of the accumulation point of the solution sequence corresponding to an infinite branch. If there is a solution of the problem (IPw), denoted as (θ ′ , ψ′ , x ′ , {y k} ′ k∈K), where θ ′ ≤ θ ⋆ . Then by the same logic as the correctness proof, it is either a node solution of the branch-and-cut tree or an accumulation point of a sequence. In each case, the current objective value will be updated to θ ′ + δ, where δ ≥ 0 and is an arbitrarily small number. Consequently, the branch corresponding to the sequence {(θ n , ψn , x n , {y k} n k∈K)} +∞ 1 must be finite since it will be cut by a better solution. 166 Therefore, we reach a contradiction with the infinite branch and conclude our proof. B.7 Proof of Theorem 5 For any given wr , if a solution w violates the cut (Cs-feas), then we have X i∈Ir 1 − wi ≤ 0, (B.28) and thus w ≥ wr . If instead the solution wr violates the constraint (3.9) under the scenario ¯ξ, then for any solution w such that w ≥ wr , we have V ( ¯ξ)w ≥ V ( ¯ξ)wr ≥ H ¯ξ, (B.29) where the first inequality holds because the matrix V (ξ) is component-wise non-negative, and the second one holds because of the infeasibility of ¯ξ. Thus w is infeasible in problem (3.1). This concludes the proof. 167 Appendix C Supplemental Numerical Results of Chapter 3 C.1 Supplementary Numerical Results to Section 3.5.1.2 C.1.1 Supplementary Runtime Results In Section 3.5.1.2, we state that since the number of bilinear terms between continuous variables is small, solving the monolithic MINLO is more efficient than using the decomposition algorithm in all cases. From Table 3.1, we know that Gurobi solves all instances to optimality within the given time limit. In this section, for computational completeness, we compare and report the performance of the decomposition Algorithm 1, which uses the Branch-andCut Algorithm 3 to evaluate Φ(w), both with and without the cuts introduced in Section 3.4.3. We also evaluate its performance when the Branch-and-Bound Algorithm 2 is used with the same cuts in Section 3.4.3. In Algorithm 1, the time limit for evaluating Φ(w) is set to 300 seconds, and the lower bound L is obtained by solving a deterministic problem with ξ = (r, c). Table C.1 summarizes the computational results for the same randomly generated instances. From the table, we observe that the improved decomposition algorithm, which uses Algorithm 2 to evaluate Φ(w), outperforms the basic decomposition algorithm. Across all 168 instances, the proposed algorithm solves more instances to optimality and achieves a smaller optimality gap, which decreases as K increases. As the number of policies K increases, the improved decomposition algorithm outperforms the other two approaches in an increasing number of instances. For example, when N = 40, the number of times a better solution was found by the improved decomposition approach is {12, 19, 20} for K ∈ {2, 3, 4}, respectively. Additionally, the improvements in objective value over the static solutions achieved by the improved decomposition algorithm are greater than those of the other two methods across all cases. Notably, the decomposition algorithm using Algorithm 2 to evaluate Φ(w) rarely finds high-quality solutions when the problem size is large (e.g., N > 10), and its solution time is longer than the other two methods for small-sized problems. This result highlights the efficiency of the proposed Branch-and-Cut Algorithm 3 and its advantages. C.1.2 Out of Sample Performance In this section, we compare the out-of-sample performance of the RO solution and the DRO solution in the best box problem. For all the problems, we sample 200 distributions and calculate the expected costs under both the RO and DRO solutions. For each distribution, we draw 1000 samples of the random parameter ¯ζ from the uniform distribution U[−1, 1], and generate the scenarios ¯ξ using the relationship between them defined in the support set: ¯ξ = (ξ r , ξ c ) , where ¯ξ r n = 1 + Φ ⊤ n ¯ζ/2 rn, ¯ξ c n = 1 + Ψ⊤ n ¯ζ/2 cn, n ∈ N . If the constraints in the ambiguity set are not satisfied, we decrease the interval length of the uniform distribution by 2/3 and resample the scenarios of ζ until the constraints are satisfied. For each sample ¯ξ and DRO solution, denoted as {w, x, ψ, {y k}k∈K}, we solve the 169 Decomposition Decomposition with Added Cuts Decomposition with Algorithm 2 and Cuts N K Opt(#) Time(s) Gap Better(#) Improvement Opt(#) Time(s) Gap Better(#) Improvement Opt(#) Time(s) Gap Better(#) Improvement 10 2 20 20.7 0.0% 0 42.6% 20 4.2 0.0% 0 42.6% 20 14.2 0.0% 0 42.6% 3 20 31.1 0.0% 0 43.9% 20 7.2 0.0% 0 43.9% 20 50.9 0.0% 0 43.9% 4 20 52.8 0.0% 0 43.9% 20 26.6 0.0% 0 43.9% 20 101.8 0.0% 0 43.9% 20 2 0 7200.0 40.7% 1 84.6% 13 2769.5 23.6% 1 85.9% 0 7200.0 100.0% 0 −100.0% 3 0 7200.0 32.4% 4 110.6% 5 1071.4 19.2% 8 108.1% 0 7200.0 100.0% 0 −100.0% 4 0 7200.0 30.5% 3 116.6% 8 3494.4 15.7% 13 120.3% 0 7200.0 100.0% 0 −100.0% 30 2 0 7200.0 41.4% 0 111.9% 2 1799.4 34.1% 2 118.2% 0 7200.0 100.0% 0 −100.0% 3 0 7200.0 36.2% 2 131.2% 0 7200.0 28.9% 13 147.7% 0 7200.0 100.0% 0 −100.0% 4 0 7200.0 37.0% 1 127.9% 1 1182.8 25.5% 19 158.3% 0 7200.0 100.0% 0 −100.0% 40 2 0 7200.0 48.3% 2 86.4% 1 3356.4 44.9% 12 98.0% 0 7200.0 100.0% 0 −100.0% 3 0 7200.0 44.2% 0 101.0% 0 7200.0 35.8% 19 129.6% 0 7200.0 100.0% 0 −100.0% 4 0 7200.0 42.6% 0 106.8% 0 7200.0 30.1% 20 149.3% 0 7200.0 100.0% 0 −100.0% Table C.1: Supplementary computational results of the best box problem. Decomposition and Decomposition with Added Cuts refer to Algorithm 1 using the Branch-and-Cut Algorithm 3 to evaluate Φ( w), without and with the cuts introduced in Section 3.4.3, respectively. Decomposition with Algorithm 2 and Cuts refers to Algorithm 1 using the Branch-and-Bound Algorithm 2 with the cuts introduced in Section 3.4.3. Opt(#) corresponds to the number of instances solved to optimality, Time(s) to the average computational time (in seconds) for instances solved to optimality, and Gap to the average optimality gap for the instances not solved within the time limit. Better(#) denotes the number of instances in each method that achieved a better objective value than the other method. Improvement denotes the average improvement in the objective value of the K-adaptability solution found in the time limit over the static solution found in the time limit. The improvement is calculated as the ratio of the difference between the objective values of the K-adaptability solution and the static solution to the objective value of the static solution. 170 following inner maximization problem to find the best candidate policy y k ⋆ : min k∈K max ξ∈Ξ(w,ξ) c ⊤ψ + ξ ⊤C x + ξ ⊤D w + ξ ⊤Q yk − ψ ⊤g(ξ) s.t. T (ξ)x + V (ξ)w + W(ξ)y k ≤ Hξ ∀ξ ∈ Ξ(w, ξ). (C.1) The objective value associated with ¯ξ is calculated as ¯ξ ⊤Cx+ ¯ξ ⊤Dw+ ¯ξ ⊤Qyk ⋆ . We then use the objective value of each sample to calculate the expectation of the discrete distribution. For the RO solution {w, x, {y k}k∈K}, we solve the following inner maximization problem to find the best candidate policy: min k∈K max ξ∈Ξ(w,ξ) ξ ⊤C x + ξ ⊤D w + ξ ⊤Q yk s.t. T (ξ)x + V (ξ)w + W(ξ)y k ≤ Hξ ∀ξ ∈ Ξ(w, ξ), (C.2) and calculate the expected value in the same way described above. Table C.2 reports the relative difference of the median, the 95% and 99% quantiles between the two methods. From the simulation results, we can see that the DRO approach, in general, produces less conservative solutions that perform better than those of the RO approach even on non-worst-case distributions. C.2 Supplementary Numerical Results for Section 3.5.2.2 C.2.1 Supplementary Runtime Results In this section, for computational completeness, we present the performance of the decomposition Algorithm 1 using the Branch-and-Bound Algorithm 2 with the cuts introduced in Section 3.4.3. In Algorithm 1, the time limits for evaluating Φ(w) are set to [300s, 600s, 1200s, 2400s] for problem sizes N ∈ {5, 10, 15, 20}, consistent with Section 3.5.2.2. The lower bound L 171 N K median 95% quantile 99% quantile 10 1 7.10% 7.20% 7.32% 2 2.44% 2.34% 2.31% 3 4.04% 3.91% 3.90% 4 4.03% 3.90% 3.89% 20 1 6.84% 6.80% 6.83% 2 0.23% 0.22% 0.23% 3 0.96% 0.96% 0.97% 4 1.06% 1.05% 1.07% 30 1 2.77% 2.75% 2.73% 2 1.69% 1.69% 1.68% 3 1.64% 1.65% 1.66% 4 1.87% 1.87% 1.88% 40 1 3.68% 3.65% 3.67% 2 0.58% 0.57% 0.57% 3 −0.33% −0.31% −0.31% 4 0.43% 0.44% 0.44% Table C.2: The relative difference between the median, the 95% and 99% quantiles of the expected objective values in the 200 simulated distributions given by the RO and DRO solutions to the Best Box problem. Each cell represents an average of 20 instances. is again obtained by solving a deterministic problem with ξ = (r, c). Table C.3 summarizes the computational results for the same randomly generated instances and should be read in tandem with Table 3.3. From the table, we observe that, across all cases, using Algorithm 3 to evaluate Φ(w) solves more instances to optimality and, if the time limit is reached, it returns solutions with better objective values. Algorithm 3 also requires shorter solving times, has smaller gaps, and shows more improvement. Particularly, when the problem size is large (e.g., N > 10), the decomposition algorithm using Algorithm 3 finds solutions having considerable improvement over the static solutions, while Algorithm 2 has difficulty finding high-quality solutions. This again demonstrates the 172 efficiency and advantages of the proposed Branch-and-Cut Algorithm 3. N K Opt(#) Time(s) Gap Better(#) Improvement 5 2 6 253.0 17.9% 0 10.1% 3 0 7200.0 17.8% 0 12.4% 4 0 7200.0 18.4% 0 12.4% 10 2 0 7200.0 34.1% 0 4.4% 3 0 7200.0 28.1% 1 14.2% 4 0 7200.0 31.9% 0 5.6% 15 2 0 7200.0 88.9% 0 −73.0% 3 0 7200.0 91.1% 0 −73.0% 4 0 7200.0 88.8% 0 −73.0% 20 2 0 7200.0 95.9% 0 −79.8% 3 0 7200.0 94.4% 0 −79.8% 4 0 7200.0 94.9% 0 −79.8% Table C.3: Computational results of Algorithm 1 using the Branch-and-Bound Algorithm 2 with the cuts introduced in Section 3.4.3 for R&D problem. Opt(#) corresponds to the number of instances solved to optimality, Time(s) to the average computational time (in seconds) for instances solved to optimality, and Gap to the average optimality gap for the instances not solved within the time limit. Better(#) denotes the number of instances in each method that achieved a better objective value than the other method. Improvement denotes the average improvement in the objective value of the K-adaptability solution found in the time limit over the static solution found in the time limit. The improvement is calculated as the ratio of the difference between the objective values of the K-adaptability solution and the static solution to the objective value of the static solution. C.2.2 Out of Sample Performance In this section, we compare the out-of-sample performance of the RO solution and the DRO solution in the R&D problem. We sample 200 distributions that satisfy the moment constraints in PRD. For each instance and distribution, we evaluate the expected return EP[−ξ r⊤ (w+θy(ξ))] using y(ξ) as the solution computed by RO and DRO approaches. The detail of the sampling procedure is similar to Section C.1.2. Table C.4 reports the relative difference of the median, the 95% and 99% quantiles between the two methods. Similar to the best box problem, Table C.4 shows that, in the R&D problem, the DRO solutions, in 173 general, also outperform the RO solutions on non-worst-case distributions. N K median 95% quantile 99% quantile 5 1 −0.03% −0.03% −0.03% 2 9.55% 9.78% 9.87% 3 4.53% 4.68% 4.71% 4 2.90% 3.03% 3.06% 10 1 −0.27% −0.26% −0.25% 2 22.92% 22.95% 22.96% 3 4.50% 4.80% 4.92% 4 4.46% 4.54% 4.56% 15 1 −0.60% −0.59% −0.60% 2 21.66% 21.67% 21.66% 3 3.07% 3.51% 3.60% 4 3.93% 3.95% 4.03% 20 1 −0.26% −0.25% −0.25% 2 21.44% 21.44% 21.43% 3 4.85% 5.32% 5.47% 4 4.20% 4.21% 4.25% Table C.4: The relative difference between the median, the 95% and 99% quantiles of the expected objective values in the 200 simulated distributions given by the RO and DRO solutions to the R&D problem. Each cell represents an average of 20 instances. C.3 Distributionally Robust R&D Project Portfolio Optimization with Loans C.3.1 Problem Description We perform experiments on several instances of a variant of the distributionally robust R&D project portfolio optimization problem studied in Section 3.5.2. In this problem, in the first 174 stage, the decision maker is allowed to borrow an amount x of money which she must pay back, with interest α in the final stage. We use the same ambiguity set as the one described in 3.5.2. The support of the distribution of the uncertain parameters is given by: Ξ = n (ξ r , ξ c ) ∈ R 2N : ∃ζ ∈ [−1, 1]M : ξ r n = 1 + Φ⊤ n ζ/2 rn, ξc n = 1 + Ψ⊤ n ζ/2 cn, n ∈ N } . We define ξ = (ξ r , ξ c ), µ = (r, c), and use the following ambiguity set for the uncertain returns and costs: PRD = P ∈ M+(R Nξ ) : P(ξ ∈ Ξ) = 1, EP [|ξ − µ|] ≤ 0.15µ, EP h e ⊤ (ξ − µ) i ≤ 0.15N −1/2e ⊤µ) . (C.3) The second set of constraints in the ambiguity set enforces the mean absolute deviation of the individual returns and costs to be bounded. The last constraint imposes an upper bound on the cumulative deviation of the projects’ returns and costs from their expected value. The distributionally robust R&D project portfolio optimization problem with loans can be written as min sup P∈P EP h −ξ r⊤ (w + θy(ξ)) + (1 + α)x i s.t. w = (wr , wr ), wr ∈ {0, 1} N , x ∈ R+ y(ξ) ∈ {0, 1} N ξ c⊤ (wr + y(ξ)) ≤ B + x wr + y(ξ) ≤ e ∀ξ ∈ Ξ y(ξ) = y(ξ ′ ) ∀ξ, ξ ′ ∈ Ξ : w ◦ ξ = w ◦ ξ ′ . (C.4) 175 C.3.2 Computational Results We run experiments on 80 randomly generated instances of the K-adaptability counterpart of problem (3.15): 20 instances for each N ∈ {5, 10, 15, 20} with risk factors M ∈ {4, 5, 8, 10}, respectively. We draw c uniformly at random from the box [0, 10]N and let r = 5c, B = e ⊤c/2 and α = 0.2. The risk load factors Φn and Ψn are sampled uniformly at random from the standard simplex. We report the results of solving problem (3.15) by utilizing the monolithic MINLO reformulation and applying the decomposition Algorithm 1 with and without the cuts introduced in Section 3.4.3. In the decomposition Algorithm 1, we set the time limit of evaluating Φ(w) to [300s, 600s, 1200s, 2400s] for problems with size N ∈ {5, 10, 15, 20}. The lower bound value L in Algorithm 1 is found by solving a deterministic problem obtained by setting ξ = (r, c). If the subproblem evaluating Φ(w) is not solved to optimality within the time limit, we use the current lower bound of the subproblem to generate a valid integer cut of the form (Copt) and use the upper bound to update the objective value θ ⋆ in step 4. If the main problem is not solved to optimality within the time limit, we report θ ⋆ as the objective value and the current optimal objective value of main problem (Prelax) as the lower bound. Table C.5 summarizes the computational results across those instances. From the table, we observe that the improved decomposition algorithm achieves optimality or finds better solutions for more instances than the basic decomposition algorithm and solves the monolithic MINLO problem when K is large. Across all instances, the proposed algorithm has a significantly smaller optimality gap which decreases with K. We notice that the MINLO problem is often unable to obtain a valid lower bound across all problem sizes. As the number of policies K increases, the number of instances for which the improved decomposition algorithm achieves a better objective value increases. For example, when N = 20, the number of better solutions found by our approach is {13, 18, 19} with K ∈ {2, 3, 4}, respectively. The improvements in the objective value given by using the improved decomposition 176 MINLO Decomposition Decomposition with Added Cuts N K Opt(#) Time(s) Gap Better(#) Improvement Opt(#) Time(s) Gap Better(#) Improvement Opt(#) Time(s) Gap Better(#) Improvement 5 2 0 7200.0 − 2 −21.6% 6 1218.2 0.2% 5 30.4% 6 426.0 0.1% 4 30.4% 3 0 7200.0 − 1 14.7% 0 7200.0 5.6% 7 36.5% 2 663.0 1.1% 5 36.9% 4 0 7200.0 − 2 13.4% 0 7200.0 9.9% 1 37.2% 2 936.0 6.1% 13 37.6% 10 2 1 4404.5 − 2 3.6% 0 7200.0 29.5% 3 43.3% 0 7200.0 20.2% 11 43.8% 3 0 7200.0 − 3 38.8% 0 7200.0 26.4% 7 51.0% 0 7200.0 20.4% 10 51.3% 4 0 7200.0 − 0 9.6% 0 7200.0 25.1% 8 53.9% 0 7200.0 20.0% 12 54.2% 15 2 0 7200.0 − 1 −3.5% 0 7200.0 29.8% 7 36.9% 0 7200.0 28.1% 11 37.1% 3 0 7200.0 − 1 −20.9% 0 7200.0 25.9% 3 44.5% 0 7200.0 24.0% 16 45.6% 4 0 7200.0 − 0 −41.3% 0 7200.0 24.4% 6 47.4% 0 7200.0 22.3% 14 48.7% 20 2 0 7200.0 − 1 −26.9% 0 7200.0 28.5% 6 40.1% 0 7200.0 27.6% 13 40.6% 3 0 7200.0 − 1 −19.2% 0 7200.0 25.6% 1 45.8% 0 7200.0 23.2% 18 49.3% 4 0 7200.0 − 0 −64.5% 0 7200.0 25.4% 1 46.3% 0 7200.0 21.6% 19 52.4% Table C.5: Summary of computational results of the R&D problem with loans. Decomposition and Decomposition with Added Cuts refer to Algorithm 1 without and with the cuts introduced in Section 3.4.3, respectively. Opt(#) corresponds to the number of instances solved to optimality, Time(s) to the average computational time (in seconds) for instances solved to optimality, and Gap to the average optimality gap for the instances not solved within the time limit. We write ’-’ when no valid lower bound was found. Better(#) denotes the number of instances in each method that achieved a better objective value than the other method. Improvement denotes the average improvement in the objective value of the K-adaptability solution found in the time limit over the static solution found in the time limit. The improvement is calculated as the ratio of the difference between the objective values of the K-adaptability solution and the static solution to the objective value of the static solution. 177 algorithm over the static solutions are {40.6%, 49.3%, 52.4%}, whereas the improvements obtained by solving the MINLO problem and using the basic decomposition algorithm are {−26.9%, −19.2%, −64.5%} and {40.1%, 45.8%, 46.3%}, respectively. In all cases, the improvement in the objective value produced by the decomposition algorithm over the static solutions increases with the number of policies K. This is expected since larger values K offer more flexibility in the recourse decisions, leading to a better objective value. However, the trend is not clear in MINLO solutions due to computational difficulties, and the improvement can even be negative. We also present the performance of the decomposition Algorithm 1 using the Branchand-Bound Algorithm 2 with the cuts introduced in Section 3.4.3. Table C.6 summarizes the computational results for the same randomly generated instances and should be read in companion with Table 3.3. From the table, we observe that, across all cases, using Algorithm 2 to evaluate Φ(w) solves fewer instances to optimality and with better objective values. It also requires longer solving times, has larger gaps, and shows less improvement. Particularly, when the problem size is large (e.g., N > 10), the decomposition algorithm using Algorithm 2 has difficulty finding high-quality solutions with positive improvement compared to the static solution. This again demonstrates the efficiency and advantages of the proposed Branch-and-Cut Algorithm 3. Next, we examine the suboptimality of the RO solution. We define z ⋆ RO and z ⋆ DRO as in Section 3.5.1.2. The relative differences between z ⋆ RO and z ⋆ DRO are summarized in Table C.7. From the table, we see that the average suboptimality of the RO solution among all instances is up to 51.25%, which shows the importance of incorporating distributional information in the uncertainty set. We also compare the out-of-sample performance of the RO solution and the DRO solution. We sample 200 distributions that satisfy the moment constraints in PRD. For each instance and distribution, we evaluate the expected net return EP[−ξ r⊤ (w + θy(ξ)) + (1 + α)x] using y(ξ) as the solution computed by RO and DRO approaches. The details of the sampling 178 N K Opt(#) Time(s) Gap Better(#) Improvement 5 2 0 7200.0 27.1% 0 7.6% 3 0 7200.0 33.1% 0 4.6% 4 0 7200.0 34.0% 0 2.8% 10 2 0 7200.0 48.6% 0 −1.9% 3 0 7200.0 48.8% 0 −2.3% 4 0 7200.0 48.3% 0 −2.0% 15 2 0 7200.0 53.6% 0 −10.0% 3 0 7200.0 56.2% 0 −13.2% 4 0 7200.0 56.1% 0 −11.2% 20 2 0 7200.0 61.8% 0 −23.4% 3 0 7200.0 65.9% 0 −27.9% 4 0 7200.0 72.3% 0 −39.3% Table C.6: Computational results of Algorithm 1 using the Branch-and-Bound Algorithm 2 with the cuts introduced in Section 3.4.3 for R&D problem with loans. Opt(#) corresponds to the number of instances solved to optimality, Time(s) to the average computational time (in seconds) for instances solved to optimality, and Gap to the average optimality gap for the instances not solved within the time limit. Better(#) denotes the number of instances in each method that achieved a better objective value than the other method. Improvement denotes the average improvement in the objective value of the K-adaptability solution found in the time limit over the static solution found in the time limit. The improvement is calculated as the ratio of the difference between the objective values of the K-adaptability solution and the static solution to the objective value of the static solution. 179 K N = 5 N = 10 N = 15 N = 20 1 15.74% 13.58% 20.38% 19.47% 2 42.54% 49.12% 48.81% 50.5% 3 43.83% 44.93% 49.71% 51.25% 4 43.71% 43.83% 46.92% 45.71% Table C.7: Suboptimality of RO solution to the R&D problem with loans. Each cell represents an average of 20 instances. In each instance, the relative differences are calculated by (z ∗ DRO − z ∗ RO) (z ∗ DRO + z ∗ RO)/2 . procedure can be found in Section C.1.2. Table C.8 reports the relative difference of the median, the 95% and 99% quantiles between the two methods. From the table, we can see that, on the simulated non-worst-case distributions, the DRO solutions outperform the RO solutions by up to 49%. 180 N K median 95% quantile 99% quantile 5 1 18.96% 18.66% 18.55% 2 39.90% 40.01% 40.07% 3 35.93% 35.97% 35.99% 4 33.84% 33.92% 33.94% 10 1 17.68% 17.35% 17.27% 2 47.68% 47.62% 47.62% 3 31.81% 31.82% 31.88% 4 38.31% 38.26% 38.28% 15 1 18.26% 18.05% 17.81% 2 49.08% 48.98% 48.85% 3 34.21% 34.33% 34.24% 4 36.88% 36.87% 36.80% 20 1 18.13% 17.90% 17.75% 2 49.43% 49.31% 49.25% 3 30.77% 30.89% 30.90% 4 36.33% 36.30% 36.27% Table C.8: The relative difference between the median, the 95% and 99% quantiles of the expected objective values in the 200 simulated distributions given by the RO and DRO solutions to the R&D problem with loans. Each cell represents an average of 20 instances. 181 Appendix D Omitted Proofs in Chapter 4 D.1 Proof of Theorem 7 Denote x¯ as a feasible solution to problem (D.2) and the optimal solution to the separation problem (D.2) as ¯ξ. For any (η ′ , x ′ ) that is feasible to problem (D.2), and x ′ ̸= x¯, let ξ ′ : {ξ ′ i = ¯ξi if x ′ i = 0 else 0}. Then ξ ′ is feasible to problem (4.11) given x ′ , so we have η ′ ≥ Φ(x ′ ) ≥ P i∈I viξ ′ i = P i∈I vi(1 − x ′ i ) ¯ξi , so that the cut (4.12) is valid. At x¯, since ¯ξ is an optimal solution to (4.11), we have Φ(x¯) = P i∈I vi ¯ξi = P i∈I vi(1 − x¯i) ¯ξi , since ¯xi and ¯ξi can not be 1 at the same time. □ D.2 Proof of Theorem 8 Given any solution x¯, by theorem 6, we know that the following problem is the true singlestage problem and thus lower bounds the conservative approximation (4.11) in the sense 182 that Φ′ (x¯) ≤ Φ(x¯). Φ ′ (x¯) = maximize X i∈I viξi subject to X i∈I γiξi ≤ Γ ξi ≤ 1 − x¯i ∀i ∈ I ξi ∈ {0, 1} ∀i ∈ I. (D.1) We first relax the binary uncertainty set of the maximization problem in (D.1) to continuous and get maximize X i∈I viξi subject to X i∈I γiξi ≤ Γ ξi ≤ 1 − x¯i ∀i ∈ I ξ ∈ [0, 1]|I| . (D.2) Denote ¯ξ as an optimal solution to the problem (D.2), based on assumption (1), ¯ξ essentially selects the items where ¯xi = 0 in the order of i until the budget is used up or all the noninterdicted items are selected. So there are two cases: the first one is not all items are selected, and the last selected item might be partially chosen, meaning that one ¯ξi can be a fractional number, and the second case is that all items are selected. We now prove case by case. D.2.0.0.1 Case 1 Denote the index of the partially selected item as p. If, in this optimal solution, there is no partially selected item, we denote the next item to be included as p. Let ¯ξf : { ¯ξf i = 1, if i < p, else 0, ∀i ∈ I}, we know that ¯ξf is a feasible solution to problem (D.1), and P i∈I vi ¯ξf i ≤ Φ ′ (x¯). Let ¯ζ : { ¯ζp = 1, else 0, i = 1, . . . , |I| + 1}. We now show that (x¯, ¯ξf , ¯ζ) is a feasible solution to problem (4.13). We only need to prove these three 183 variables since η is simply an epigraph variable. Since x¯ is feasible to problem (4.9), the constraint (4.13c) is satisfied. Similarly, since ¯ξf is feasible to problem (D.1) fixing x¯, so the constraints (4.13d) and (4.13e) are satisfied. The constraint (4.13f) is met based on our construction of the vector ¯ζ. The right-hand side of the set of constraints (4.13g) have the value 0 except for the pth constraint, which has the value p − 1. For the pth constraint, based on the construction of the vector ¯ξf , we know that all the items before p must be either be selected by x¯ or by ¯ξf . So we have ¯ξf i + ¯xi = 1, i = 1, . . . p − 1, which satisfies the constraint (4.13g). Also by the construction of ¯ξf , we have ¯ξf i = 0, i = p, . . . |I|. So the right-hand side of the pth of the set of constraints (4.13h) has value 1, which makes the tuple ( ¯ξf , ¯ζ) feasible for this set of constraint. As for the constraint (4.13i), the left-hand side of it takes the value P i∈I γi ¯ξf i + γp which is greater than Γ, because the pth item is partially selected in the optimal solution ¯ξ, and fully including that item exceeds the budget of the inner maximization problem. Since (x¯, ¯ξf , ¯ζ) is feasible to problem (D.2), then given any x¯, the optimal objective value of the problem is less than or equal to P i∈I vi ¯ξf i which is no larger than Φ′ (x¯) and Φ(x¯). D.2.0.0.2 Case 2 In the case that all the items can be selected, we let ¯ζ : { ¯ζ|I|+1 = 1, and ¯ζi = 0, ∀i ∈ I}. We now prove that (x¯, ¯ξ, ¯ζ) is feasible to problem (D.2). The constraints (4.13c) to (4.13f) are satisfied by the feasibility of x¯, ¯ξ and the construction of ¯ζ as we proved in the case 1. For the constraints (4.13h), since all the items are either be selected by x¯ or by ¯ξ, we have P i∈I x¯i + ¯ξi = |I|. We don’t have constraint (4.13g) for ζ|I|+1 = 1. As for the last constraint (4.13i), the left-hand side has the value P i∈I γiξi+M, which is greater than the right-hand side by the definition of M. Since (x¯, ¯ξ, ¯ζ) is feasible to problem (D.2), then given any x¯, the optimal objective value of the problem is less than or equal to P i∈I vi ¯ξf i which is no larger than Φ′ (x¯) and Φ(x¯). □ 184 D.3 Proof of Theorem 9 The master problem (4.14) and the original problem (4.9) have the same feasible region for the decision variable x¯. For any given solution x¯, the true objective value of (4.9) is Φ(x¯), denote the objective value of (4.14) as ηm(x¯). In the master problem (4.14), denote η1(x¯) as the maximum value of the right-hand side expression for all generated scenarios in the first set of the constraints, and η2(x¯) as the value of the right-hand side expression of the second constraint. We know that ηm(x¯) = max(η1(x¯), η2(x¯)). Since U ⊆ U ¯ , we have η1(x¯) ≤ Φ(x¯). By Theorem 8, we have η2(x¯) ≤ Φ(x¯). So for any given solution x¯, ηm(x¯) ≤ Φ(x¯). Since the uncertainty set U is finite, Algorithm 5 has finite convergence. When the algorithm converges, by the stopping criteria, η ∗ ≥ Φ(x ⋆ ), so we have η ∗ = Φ(x ⋆ ). Suppose there is another feasible solution x ′ of problem (4.9) such that Φ(x ′ ) < Φ(x ⋆ ) = η ∗ . Then, if x ′ has been searched in Algorithm 5, the optimal solution and objective value must have been updated. If not, then we have the current optimal objective value of the master problem ¯η ≤ ηm(x ′ ) ≤ Φ(x ′ ) < Φ(x ⋆ ) = η ⋆ , which contradicts to the stopping criteria. □ 185
Abstract (if available)
Abstract
Over the past two decades, robust optimization has become a popular approach for decision-making under uncertainty. It addresses both single- and multi-stage problems involving real-valued or binary decisions and exogenous (decision-independent) or endogenous (decision-dependent) uncertainties. However, problems with endogenous uncertainty, such as R&D project portfolio optimization, remain under-explored. This thesis focuses on developing methodology, algorithms, and software for robust optimization under exogenous and endogenous uncertainty.
In the first part, we introduce an open-source C++-based platform for robust optimization that handles single- and multi-stage problems with exogenous and endogenous uncertainties. The platform integrates with deterministic optimization tools, supports certain stochastic programs, offers a Python interface, and uses the ROB file format for robust problem storage and sharing.
In the second part, we propose a framework for two-stage distributionally robust optimization (DRO) with decision-dependent information discovery (DDID), where uncertain parameters are revealed through first-stage investments. We develop a conservative approximation and a decomposition algorithm to solve this problem, which is the first approach in the literature capable of modeling and solving distributionally robust optimization problems with decision-dependent information discovery.
In the third part, we address a conservation planning problem aimed at minimizing biodiversity loss due to human development, formulated as a multi-stage robust optimization problem. By decomposing the problem into single-stage problems, we develop exact and approximate solution methods. A case study in Latin America demonstrates the effectiveness of our approach, showcasing its potential for real-world biodiversity conservation.
Linked assets
University of Southern California Dissertations and Theses
Conceptually similar
PDF
Applications of Wasserstein distance in distributionally robust optimization
PDF
Integer optimization for analytics in high stakes domain
PDF
Scalable optimization for trustworthy AI: robust and fair machine learning
PDF
Stochastic oilfield optimization under uncertainty in future development plans
PDF
Discounted robust stochastic games with applications to homeland security and flow control
PDF
Artificial Decision Intelligence: integrating deep learning and combinatorial optimization
PDF
On the interplay between stochastic programming, non-parametric statistics, and nonconvex optimization
PDF
Package delivery with trucks and UAVs
PDF
The fusion of predictive and prescriptive analytics via stochastic programming
PDF
The next generation of power-system operations: modeling and optimization innovations to mitigate renewable uncertainty
PDF
Applications of explicit enumeration schemes in combinatorial optimization
PDF
Optimization strategies for robustness and fairness
PDF
Elements of robustness and optimal control for infrastructure networks
PDF
Train routing and timetabling algorithms for general networks
PDF
Empirical methods in control and optimization
PDF
Calibration uncertainty in model-based analyses for medical decision making with applications for ovarian cancer
PDF
Improving decision-making in search algorithms for combinatorial optimization with machine learning
PDF
Mixed-integer nonlinear programming with binary variables
PDF
Towards trustworthy and data-driven social interventions
PDF
Robust and adaptive online reinforcement learning
Asset Metadata
Creator
Jin, Qing
(author)
Core Title
Robust optimization under exogenous and endogenous uncertainty: methodology, software, and applications
School
Viterbi School of Engineering
Degree
Doctor of Philosophy
Degree Program
Industrial and Systems Engineering
Degree Conferral Date
2025-05
Publication Date
02/11/2025
Defense Date
12/10/2024
Publisher
Los Angeles, California
(original),
University of Southern California
(original),
University of Southern California. Libraries
(digital)
Tag
distributionally robust optimization,exogenous and endogenous uncertainty,robust optimization
Format
theses
(aat)
Language
English
Contributor
Electronically uploaded by the author
(provenance)
Advisor
Vayanos, Phebe (
committee chair
), Carlsson, John Gunnar (
committee member
), Dilkina, Bistra (
committee member
)
Creator Email
qingjin@usc.edu,qingjin0419@gmail.com
Unique identifier
UC11399GTH4
Identifier
etd-JinQing-13821.pdf (filename)
Legacy Identifier
etd-JinQing-13821
Document Type
Dissertation
Format
theses (aat)
Rights
Jin, Qing
Internet Media Type
application/pdf
Type
texts
Source
20250211-usctheses-batch-1241
(batch),
University of Southern California
(contributing entity),
University of Southern California Dissertations and Theses
(collection)
Access Conditions
The author retains rights to his/her dissertation, thesis or other graduate work according to U.S. copyright law. Electronic access is being provided by the USC Libraries in agreement with the author, as the original true and official version of the work, but does not grant the reader permission to use the work if the desired use is covered by copyright. It is the author, as rights holder, who must provide use permission if such use is covered by copyright.
Repository Name
University of Southern California Digital Library
Repository Location
USC Digital Library, University of Southern California, University Park Campus MC 2810, 3434 South Grand Avenue, 2nd Floor, Los Angeles, California 90089-2810, USA
Repository Email
cisadmin@lib.usc.edu
Tags
distributionally robust optimization
exogenous and endogenous uncertainty
robust optimization