This repository is a supplement for “Optimal Convergence Rates for the Proximal Bundle Method”. arxiv 2105.07874
The instructions assume that your current working directory is the base of this repository.
The code in this repository is written in Julia. To set the environment install Julia 1.6.1 from https://julialang.org/downloads/ and make sure julia
is available in your PATH
.
The SVM example (below) computes the true minimum value using Gurobi. To run it you will need to install Gurobi and have an active license.
Instantiate the Julia packages
$ julia --project=. -e "import Pkg; Pkg.instantiate()"
Besides Julia, you need to download the data used for the experiments. For this run.
$ scripts/download_data.sh
Run
$ julia --project=scripts scripts/run_regression_experiment.jl
This saves the results in the folder results/regression
.
Run
$ julia --project=scripts scripts/run_svm_experiment.jl
Warning: This script might take a long time to finish.
To generate plots run
$ julia --project=scripts scripts/process_svm_plots.jl
These scripts save the results in the folder results/svm
.
A one-time step is required to use the auto-formatter:
$ julia --project=formatter -e 'import Pkg; Pkg.instantiate()'
Run the following command to auto-format all Julia code in this directory before submitting changes:
$ julia --project=formatter -e 'using JuliaFormatter; format(".")'
The file structure and README of this repository were inspired by those of FirstOrderLp.