This repository contains the implementation code for the paper "Stochastic Interior-Point Methods for Smooth Conic Optimization with Applications". The code implements stochastic interior-point methods for solving smooth conic optimization problems, with a focus on semidefinite programming (SDP) and multi-task optimization applications.
This implementation serves two main purposes:
- To reproduce the experimental results presented in our paper on Stochastic Interior-Point Methods
- To provide a practical implementation of stochastic IPM algorithms for smooth conic optimization problems
.
├── SDPT3-4.0/ # Third-party solver package required for comparison
├── base/ # Core implementation files for SIPM algorithms
├── data/ # Dataset files for experiments
├── result/ # Directory for storing experimental results
├── src/ # Source code for main implementations
├── Test_SDP.m # Main script for SDP experiments
├── Test_socp.m # Script for SOCP experiments
├── Test_socp2.m # Additional SOCP test script
├── multi_task.m # Script for multi-task optimization experiments
└── readme.md # Documentation file
base/: Contains the fundamental implementations of the SIPM algorithmsdata/: Stores test datasets and benchmark problemssrc/: Contains the source code for main algorithm implementationsresult/: Stores experimental outputs and analysis resultsSDPT3-4.0/: Contains the SDPT3 solver package used for comparison
- MATLAB (R2019b or later recommended)
where ${A_i}{i=1}^p$ are computed from data streams, $\tau\sum{i=1}^d\ln(\gamma +\lambda_i(W))$ is a nonconvex regularizer that imposes low rankness, with
- Start MATLAB
- Navigate to the repository root directory
- Run the following command:
run Test_SDP.mwhere
- Start MATLAB
- Navigate to the repository root directory
- Execute either:
run Test_socp.mor
run Test_socp2.mConvergence behavior of the relative objective value and average relative stationary
where
- Start MATLAB
- Navigate to the repository root directory
- Execute:
run multi_task.mConvergence behavior of the relative objective value and average relative stationary
Loss per task for the training (left five) and validation (right five) datasets
- Modify parameters in the respective .m files to adjust experimental settings
- Results will be automatically saved in the
result/directory - For custom datasets, place them in the
data/directory and modify the data loading path in the scripts accordingly
- All codes are implemented in MATLAB, so no compilation is necessary
- Make sure all paths are properly set before running experiments
- Check the
result/directory for output files after running experiments
















