IDEAS home Printed from https://ideas.repec.org/a/inm/orijoc/v34y2022i6p2873-2888.html
   My bibliography  Save this article

ROC++: Robust Optimization in C++

Author

Listed:
  • Phebe Vayanos

    (CAIS Center for Artificial Intelligence in Society, University of Southern California, Los Angeles, California 90089)

  • Qing Jin

    (CAIS Center for Artificial Intelligence in Society, University of Southern California, Los Angeles, California 90089)

  • George Elissaios

    (CAIS Center for Artificial Intelligence in Society, University of Southern California, Los Angeles, California 90089)

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-stage and multi-stage 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 . Whereas 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-stage 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 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/ . Summary of Contribution: The paper “ROC++: Robust Optimization in C++” proposes a new open-source C++ based platform for modeling, automatically reformulating, and solving robust optimization problems. ROC++ can address both single-stage and multi-stage problems involving exogenous and/or endogenous uncertain parameters and real- and/or binary-valued adaptive variables. The ROC++ modeling language is similar to the one provided for the deterministic case by state-of-the-art deterministic optimization solvers. ROC++ comes with detailed documentation to facilitate its use and expansion. It also offers ROPy, a Python interface in the form of a callable library. The latest version of ROC++ can be downloaded from https://sites.google.com/usc.edu/robust-opt-cpp/ .

Suggested Citation

  • Phebe Vayanos & Qing Jin & George Elissaios, 2022. "ROC++: Robust Optimization in C++," INFORMS Journal on Computing, INFORMS, vol. 34(6), pages 2873-2888, November.
  • Handle: RePEc:inm:orijoc:v:34:y:2022:i:6:p:2873-2888
    DOI: 10.1287/ijoc.2022.1209
    as

    Download full text from publisher

    File URL: http://dx.doi.org/10.1287/ijoc.2022.1209
    Download Restriction: no

    File URL: https://libkey.io/10.1287/ijoc.2022.1209?utm_source=ideas
    LibKey link: if access is restricted and if your library uses this service, LibKey will redirect you to where you can use your library subscription to access this item
    ---><---

    References listed on IDEAS

    as
    1. Zhi Chen & Melvyn Sim & Peng Xiong, 2020. "Robust Stochastic Optimization Made Easy with RSOME," Management Science, INFORMS, vol. 66(8), pages 3329-3339, August.
    2. Hamed Mamani & Shima Nassiri & Michael R. Wagner, 2017. "Closed-Form Solutions for Robust Inventory Management," Management Science, INFORMS, vol. 63(5), pages 1625-1643, May.
    3. Chrysanthos E. Gounaris & Wolfram Wiesemann & Christodoulos A. Floudas, 2013. "The Robust Capacitated Vehicle Routing Problem Under Demand Uncertainty," Operations Research, INFORMS, vol. 61(3), pages 677-693, June.
    4. Dimitris Bertsimas & Iain Dunning, 2016. "Multistage Robust Mixed-Integer Optimization with Adaptive Partitions," Operations Research, INFORMS, vol. 64(4), pages 980-998, August.
    5. Aharon Ben-Tal & Boaz Golany & Arkadi Nemirovski & Jean-Philippe Vial, 2005. "Retailer-Supplier Flexible Commitments Contracts: A Robust Optimization Approach," Manufacturing & Service Operations Management, INFORMS, vol. 7(3), pages 248-271, February.
    6. Wolfram Wiesemann & Daniel Kuhn & Melvyn Sim, 2014. "Distributionally Robust Convex Optimization," Operations Research, INFORMS, vol. 62(6), pages 1358-1376, December.
    7. Joel Goh & Melvyn Sim, 2011. "Robust Optimization Made Easy with ROME," Operations Research, INFORMS, vol. 59(4), pages 973-985, August.
    8. Oscar Dowson & Lea Kapelevich, 2021. "SDDP.jl : A Julia Package for Stochastic Dual Dynamic Programming," INFORMS Journal on Computing, INFORMS, vol. 33(1), pages 27-33, January.
    9. Weitzman, Martin L, 1979. "Optimal Search for the Best Alternative," Econometrica, Econometric Society, vol. 47(3), pages 641-654, May.
    10. Amir Ardestani-Jaafari & Erick Delage, 2016. "Robust Optimization of Sums of Piecewise Linear Functions with Application to Inventory Problems," Operations Research, INFORMS, vol. 64(2), pages 474-494, April.
    11. Dimitris Bertsimas & Melvyn Sim & Meilin Zhang, 2019. "Adaptive Distributionally Robust Optimization," Management Science, INFORMS, vol. 65(2), pages 604-618, February.
    12. Grani A. Hanasusanto & Daniel Kuhn & Wolfram Wiesemann, 2015. "K -Adaptability in Two-Stage Robust Binary Programming," Operations Research, INFORMS, vol. 63(4), pages 877-891, August.
    13. Jiang, Ruiwei & Zhang, Muhong & Li, Guang & Guan, Yongpei, 2014. "Two-stage network constrained robust unit commitment problem," European Journal of Operational Research, Elsevier, vol. 234(3), pages 751-762.
    14. Rocha, Paula & Kuhn, Daniel, 2012. "Multistage stochastic portfolio optimisation in deregulated electricity markets using linear decision rules," European Journal of Operational Research, Elsevier, vol. 216(2), pages 397-408.
    15. Haider, Zulqarnain & Charkhgard, Hadi & Kwon, Changhyun, 2018. "A robust optimization approach for solving problems in conservation planning," Ecological Modelling, Elsevier, vol. 368(C), pages 288-297.
    Full references (including those not matched with items on IDEAS)

    Citations

    Citations are extracted by the CitEc Project, subscribe to its RSS feed for this item.
    as


    Cited by:

    1. Borumand, Ali & Marandi, Ahmadreza & Nookabadi, Ali S. & Atan, Zümbül, 2024. "An oracle-based algorithm for robust planning of production routing problems in closed-loop supply chains of beverage glass bottles," Omega, Elsevier, vol. 122(C).

    Most related items

    These are the items that most often cite the same works as this one and are cited by the same works as this one.
    1. Xiangyi Fan & Grani A. Hanasusanto, 2024. "A Decision Rule Approach for Two-Stage Data-Driven Distributionally Robust Optimization Problems with Random Recourse," INFORMS Journal on Computing, INFORMS, vol. 36(2), pages 526-542, March.
    2. Jianzhe Zhen & Ahmadreza Marandi & Danique de Moor & Dick den Hertog & Lieven Vandenberghe, 2022. "Disjoint Bilinear Optimization: A Two-Stage Robust Optimization Perspective," INFORMS Journal on Computing, INFORMS, vol. 34(5), pages 2410-2427, September.
    3. Yanıkoğlu, İhsan & Gorissen, Bram L. & den Hertog, Dick, 2019. "A survey of adjustable robust optimization," European Journal of Operational Research, Elsevier, vol. 277(3), pages 799-813.
    4. Zhi Chen & Peng Xiong, 2023. "RSOME in Python: An Open-Source Package for Robust Stochastic Optimization Made Easy," INFORMS Journal on Computing, INFORMS, vol. 35(4), pages 717-724, July.
    5. Mengshi Lu & Zuo‐Jun Max Shen, 2021. "A Review of Robust Operations Management under Model Uncertainty," Production and Operations Management, Production and Operations Management Society, vol. 30(6), pages 1927-1943, June.
    6. Angelos Georghiou & Angelos Tsoukalas & Wolfram Wiesemann, 2020. "A Primal–Dual Lifting Scheme for Two-Stage Robust Optimization," Operations Research, INFORMS, vol. 68(2), pages 572-590, March.
    7. Borumand, Ali & Marandi, Ahmadreza & Nookabadi, Ali S. & Atan, Zümbül, 2024. "An oracle-based algorithm for robust planning of production routing problems in closed-loop supply chains of beverage glass bottles," Omega, Elsevier, vol. 122(C).
    8. Haolin Ruan & Zhi Chen & Chin Pang Ho, 2023. "Adjustable Distributionally Robust Optimization with Infinitely Constrained Ambiguity Sets," INFORMS Journal on Computing, INFORMS, vol. 35(5), pages 1002-1023, September.
    9. Shanshan Wang & Erick Delage, 2024. "A Column Generation Scheme for Distributionally Robust Multi-Item Newsvendor Problems," INFORMS Journal on Computing, INFORMS, vol. 36(3), pages 849-867, May.
    10. Bakker, Hannah & Dunke, Fabian & Nickel, Stefan, 2020. "A structuring review on multi-stage optimization under uncertainty: Aligning concepts from theory and practice," Omega, Elsevier, vol. 96(C).
    11. Yu Wang & Yu Zhang & Minglong Zhou & Jiafu Tang, 2023. "Feature‐driven robust surgery scheduling," Production and Operations Management, Production and Operations Management Society, vol. 32(6), pages 1921-1938, June.
    12. van Eekelen, Wouter, 2023. "Distributionally robust views on queues and related stochastic models," Other publications TiSEM 9b99fc05-9d68-48eb-ae8c-9, Tilburg University, School of Economics and Management.
    13. Georgia Perakis & Melvyn Sim & Qinshen Tang & Peng Xiong, 2023. "Robust Pricing and Production with Information Partitioning and Adaptation," Management Science, INFORMS, vol. 69(3), pages 1398-1419, March.
    14. Zhong, Yuanguang & Liu, Ju & Zhou, Yong-Wu & Cao, Bin & Cheng, T.C. Edwin, 2022. "Robust contract design and coordination under consignment contracts with revenue sharing," International Journal of Production Economics, Elsevier, vol. 253(C).
    15. Frans J. C. T. Ruiter & Aharon Ben-Tal & Ruud C. M. Brekelmans & Dick Hertog, 2017. "Robust optimization of uncertain multistage inventory systems with inexact data in decision rules," Computational Management Science, Springer, vol. 14(1), pages 45-66, January.
    16. Postek, Krzysztof & Romeijnders, Ward & den Hertog, Dick & van der Vlerk, Maartne H., 2016. "Efficient Methods for Several Classes of Ambiguous Stochastic Programming Problems under Mean-MAD Information," Other publications TiSEM a03f895f-b941-41a9-84e0-b, Tilburg University, School of Economics and Management.
    17. Anirudh Subramanyam & Frank Mufalli & José M. Lí?nez-Aguirre & Jose M. Pinto & Chrysanthos E. Gounaris, 2021. "Robust Multiperiod Vehicle Routing Under Customer Order Uncertainty," Operations Research, INFORMS, vol. 69(1), pages 30-60, January.
    18. Farough Motamed Nasab & Zukui Li, 2023. "Multistage Adaptive Robust Binary Optimization: Uncertainty Set Lifting versus Partitioning through Breakpoints Optimization," Mathematics, MDPI, vol. 11(18), pages 1-24, September.
    19. Zhi Chen & Melvyn Sim & Huan Xu, 2019. "Distributionally Robust Optimization with Infinitely Constrained Ambiguity Sets," Operations Research, INFORMS, vol. 67(5), pages 1328-1344, September.
    20. Xie, Chen & Wang, Liangquan & Yang, Chaolin, 2021. "Robust inventory management with multiple supply sources," European Journal of Operational Research, Elsevier, vol. 295(2), pages 463-474.

    Corrections

    All material on this site has been provided by the respective publishers and authors. You can help correct errors and omissions. When requesting a correction, please mention this item's handle: RePEc:inm:orijoc:v:34:y:2022:i:6:p:2873-2888. See general information about how to correct material in RePEc.

    If you have authored this item and are not yet registered with RePEc, we encourage you to do it here. This allows to link your profile to this item. It also allows you to accept potential citations to this item that we are uncertain about.

    If CitEc recognized a bibliographic reference but did not link an item in RePEc to it, you can help with this form .

    If you know of missing items citing this one, you can help us creating those links by adding the relevant references in the same way as above, for each refering item. If you are a registered author of this item, you may also want to check the "citations" tab in your RePEc Author Service profile, as there may be some citations waiting for confirmation.

    For technical questions regarding this item, or to correct its authors, title, abstract, bibliographic or download information, contact: Chris Asher (email available below). General contact details of provider: https://edirc.repec.org/data/inforea.html .

    Please note that corrections may take a couple of weeks to filter through the various RePEc services.

    IDEAS is a RePEc service. RePEc uses bibliographic data supplied by the respective publishers.