Scalable Multi-Stage Stochastic Optimization for Freight Procurement in Transportation-Inventory Systems
This archive is distributed in association with the INFORMS Journal on Computing under the MIT License.
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 Scalable Multi-Stage Stochastic Optimization for Freight Procurement in Transportation-Inventory Systems by Lingxiao Wu, Wenxuan Shan, Yossiri Adulyasak, and Jean-François Cordeau.
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.2025.1141
https://doi.org/10.1287/ijoc.2025.1141.cd
Below is the BibTex for citing this snapshot of the repository.
@misc{SFPTMP,
author = {Lingxiao Wu and Wenxuan Shan and Yossiri Adulyasak and Jean-Fran{\c{c}}ois Cordeau},
publisher = {INFORMS Journal on Computing},
title = {Scalable Multi-Stage Stochastic Optimization for Freight Procurement in Transportation-Inventory Systems},
year = {2026},
doi = {10.1287/ijoc.2025.1141.cd},
url = {https://github.com/INFORMSJoC/2025.1141},
note = {Available for download at https://github.com/INFORMSJoC/2025.1141},
}
- Code supplement for the paper "Optimizing Freight Procurement for Transportation-Inventory Systems Under Supply and Demand Uncertainty" by Lingxiao Wu, Wenxuan Shan, Yossiri Adulyasak, and Jean-François Cordeau.
- The details of the four benchmark methods (NC, MD, HS, and TS) are reported in the PDF file Benchmark Methods.
- If you need help using the code, please send an email to lingxiaowu513[at]gmail[dot]com.
- The code and data sets are also available from https://github.com/LingxiaoWu2021/SFPTMP.
The repository is organized as follows:
- The instance data are provided in the folder "instances".
- For a detailed explanation of the instance data, find the "README" file in the folder "instances".
- The detailed results obtained by each solution method for all instances are provided in the folder "Results".
-
Code of all algorithms used in our computational experiments is provided in the folder "sourcecode".
-
List of .cpp files in the subfolder "src":
- S0: code for S0
- S1: code for S1
- S2: code for S2
- CPLEX: code for running CPLEX on model P
- NC: code for NC
- MD: code for MD
- HS: code for HS
- TS: code for TS
-
List of .h files in the subfolder "inc":
- Avgminmax02.h: user-defined c++ library header file
- Seqinsertion.h: user-defined c++ library header file
- To run an algorithm for solving an instance:
- Copy the instance data from the "data" folder;
- Load the data into the code for the algorithm between lines "//input data starts here" and "//input data ends here";
- Build and run the code.
This code is being developed on an on-going basis at the authors' Github site.
For support in using this software, submit an issue.
