ROC plus plus : Robust Optimization in C plus

被引:4
|
作者
Vayanos, Phebe [1 ]
Jin, Qing [1 ]
Elissaios, George [1 ]
机构
[1] Univ Southern Calif, CAIS Ctr Artificial Intelligence Soc, Los Angeles, CA 90089 USA
基金
美国国家科学基金会;
关键词
robust optimization; sequential decision-making; exogenous uncertainty; endogenous uncertainty; decision-dependent uncertainty; decision-dependent information discovery; C plus; !text type='Python']Python[!/text; STOCHASTIC-PROGRAMMING APPROACH; DECISION RULES; ADAPTABILITY;
D O I
10.1287/ijoc.2022.1209
中图分类号
TP39 [计算机的应用];
学科分类号
081203 ; 0835 ;
摘要
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/.
引用
收藏
页码:2873 / 2888
页数:16
相关论文
共 50 条
  • [41] Computational wave optics library for C plus plus: CWO plus plus library
    Shimobaba, Tomoyoshi
    Weng, Jiantong
    Sakurai, Takahiro
    Okada, Naohisa
    Nishitsuji, Takashi
    Takada, Naoki
    Shiraki, Atsushi
    Masuda, Nobuyuki
    Ito, Tomoyoshi
    COMPUTER PHYSICS COMMUNICATIONS, 2012, 183 (05) : 1124 - 1138
  • [42] Video plus plus , a Modern Image and Video Processing C plus plus Framework
    Garrigues, Matthieu
    Manzanera, Antoine
    PROCEEDINGS OF THE 2014 CONFERENCE ON DESIGN AND ARCHITECTURES FOR SIGNAL AND IMAGE PROCESSING, 2014,
  • [43] Cosmo plus plus : An object-oriented C plus plus library for cosmology
    Aslanyan, Grigor
    COMPUTER PHYSICS COMMUNICATIONS, 2014, 185 (12) : 3215 - 3227
  • [44] CGP plus plus : A Modern C plus plus Implementation of Cartesian Genetic Programming
    Kalkreuth, Roman
    Back, Thomas
    PROCEEDINGS OF THE 2024 GENETIC AND EVOLUTIONARY COMPUTATION CONFERENCE, GECCO 2024, 2024, : 13 - 22
  • [45] C plus plus string performance
    Kochubeevsky, L
    DR DOBBS JOURNAL, 2003, 28 (10): : 28 - +
  • [46] Mathematizing C plus plus Concurrency
    Batty, Mark
    Owens, Scott
    Sarkar, Susmit
    Sewell, Peter
    Weber, Tjark
    POPL 11: PROCEEDINGS OF THE 38TH ANNUAL ACM SIGPLAN-SIGACT SYMPOSIUM ON PRINCIPLES OF PROGRAMMING LANGUAGES, 2011, : 55 - 66
  • [47] The Pinocchio C plus plus library
    Carpentier, Justin
    Saurel, Guilhem
    Buondonno, Gabriele
    Mirabel, Joseph
    Lamiraux, Florent
    Stasse, Olivier
    Mansard, Nicolas
    2019 IEEE/SICE INTERNATIONAL SYMPOSIUM ON SYSTEM INTEGRATION (SII), 2019, : 614 - 619
  • [48] Mathematizing C plus plus Concurrency
    Batty, Mark
    Owens, Scott
    Sarkar, Susmit
    Sewell, Peter
    Weber, Tjark
    ACM SIGPLAN NOTICES, 2011, 46 (01) : 55 - 66
  • [49] C plus plus constructors - Response
    Meyers, S
    DR DOBBS JOURNAL, 1997, 22 (08): : 12 - 12
  • [50] Programming with C plus plus concepts
    Jaervi, Jaakko
    Marcus, Mat
    Smith, Jacob N.
    SCIENCE OF COMPUTER PROGRAMMING, 2010, 75 (07) : 596 - 614