Official implementation of the NeurIPS 2024 paper Scalable Kernel Inverse Optimization.
pip install -r requirements.txt
algorithm.pyThis is the main executable python file. The dataset used for training and the relevant hyperparameters are specified in this file. Subsequently, the SCS/SSO solver is invoked to solve the inverse optimization problem.
- For example, you can run the code with
python algorithm.py --k 1e-6 --scaler_d_T 100 --score 0 --env 6 --it 20 --batch 10000
-
cvx_solver.pyConstruct the inverse optimization problem using CVXPY and solve it with the SCS solver. -
cd_solver.pyUse SSO algorithm to solve the inverse optimization problem in a distributed fashion. At every iteration, use CVXPY to model the sub problem and use SCS to solve it.
@article{long2024scalable,
title={Scalable kernel inverse optimization},
author={Long, Youyuan and Ok, Tolga and Zattoni Scroccaro, Pedro and Mohajerin Esfahani, Peyman M},
journal={Advances in Neural Information Processing Systems},
volume={37},
pages={99464--99487},
year={2024}
}