A Decision Rule Approach for Two-Stage Data-Driven Distributionally Robust Optimization Problems with Random Recourse
This archive is distributed in association with the INFORMS Journal on Computing under the MIT License.
This repository contains supporting material for the paper A Decision Rule Approach for Two-Stage Data-Driven Distributionally Robust Optimization Problems with Random Recourse by Xiangyi Fan and Grani A. Hanasusanto.
The software and data in this repository are a snapshot of the software and data that were used in the research reported on in the paper.
To cite the contents of this repository, please cite both the paper and this repo, using their respective DOIs.
https://doi.org/10.1287/ijoc.2021.0306
https://doi.org/10.1287/ijoc.2021.0306.cd
Below is the BibTex for citing this snapshot of the respoitory.
@article{FanHanasusanto2023,
author = {Xiangyi Fan and Grani A. Hanasusanto},
publisher = {INFORMS Journal on Computing},
title = {A Decision Rule Approach for Two-Stage Data-Driven Distributionally Robust Optimization Problems with Random Recourse},
year = {2023},
doi = {10.1287/ijoc.2021.0306.cd},
url = {https://github.com/INFORMSJoC/2021.0306},
}
The goal of this repository is to demonstrate a decision rule approach for two-stage data-driven distributionally robust optimization probelms with random recourse.
-
The folder Inventory_Allocation contains Matlab implementation (except for Benders decomposition) of the experiment "Network Inventory Allocation" discussed in the paper.
-
The folder Newsvendor contains Matlab implementation (except for Benders decomposition) of the experiment "Multi-item Newsvendor" discussed in the paper.
-
The folder Medical_scheduling contains Matlab implementation (except for Benders decomposition) of the experiment "Medical Scheduling" discussed in the paper.
-
The folder Benders_Inventory_Allocation contains Matlab implementation of Benders decomposition in the experiment "Network Inventory Allocation".
-
The folder Benders_Newsvendor contains Matlab implementation of Benders decomposition in the experiment "Multi-item Newsvendor".
-
The folder Benders_Medical_Scheduling contains Matlab implementation of Benders decomposition in the experiment "Medical Scheduling".
-
The folder Benders_Facility_Location contains Matlab implementation of Benders decomposition in the experiment "Facility Location Problem".
All the necessary data for replicating the experiments is included within the scripts.
The results folder contains the model outputs.
-
To replicate the results in Table 1 & 2 in the paper, run the files LS_Npoints_plot_general.m, LS_Npoints_plot_general_cons_uniform.m, and Npoints_plot.m.
-
To replicate the results in Figure 1 and Table 3, run the file Npoints_plot.m
-
To replicate the results in Figure 2 (Left), Figure 2 (middle), and Figure 2 (right), run the files K_plot_fix.m, epsilon_plot.m, and epsilon_p_plot.m, respectively.
-
To replicate the results in Table 4 in the paper, run the file Npoints_plot.m.
-
To replicate the results in Figure C.1 and Table C.1, run the file MS_Npoints_plot.m.
-
To replicate the results in Table C.2 in the paper, run the file Npoints_plot.m.
-
To replicate the results in Figure C.2, Table C.3, and Table C.4 in the paper, run the file Npoints_plot.m.
All optimization problems are solved using MOSEK 9.2.28 via the YALMIP interface, i.e., a toolbox in MATLAB.
For support in using the codes, please contact the corresponding author.