ABOUT THIS PACKAGE:
* SCOPT stands for Self-Concordant OPTimization
* This is a software package written in MATLAB that implements the several
first order and second order optimization algorithms for solving composite
minimization problems of a self-concordant (like) function and a convex and
possibly nonsmooth function
min_x { F(x) = f(x) + rho*g(x) }
where f is a smooth convex function and self-concordant (like)
g is a convex and possibly nonsmooth function,
rho is a regularization parameter.
Note that when f(x) is a barrier functions of a given convex set C.
Then, a path-following solver is also provided for this case.
REFERENCES:
[1]. Q. Tran Dinh, A. Kyrillidis and V. Cevher: A proximal Newton
framework for composite minimization: Graph learning without
Cholesky decompositions and matrix inversions. ICML 2013, Alanta.
[2]. Q. Tran Dinh, A. Kyrillidis and V. Cevher: Self-Concordant
Minimization, Tech. Report, LIONS, EPFL, 2013.
[3]. Quoc Tran Dinh, Volkan Cevher and Yen-Huan Li: Minimization of
self-concordant-like functions, Tech. Report., LIONS, EPFL, 2013.
[4]. Q. Tran Dinh, A. Kyrillidis and V. Cevher: No heavy lifting required:
A proximal path following scheme for conic programming, Tech. Report,
LIONS, EPFL, 2013.
INSTALLATION:
* Download SCOPT.zip at http://lions.epfl.ch/software/SCOPT.
* Unzip the SCOPT.zip file to create the SCOPT folder.
* Open MATLAB, browse to the SCOPT/ folder and run the scopt_setup.m file
to perform the basic installation steps.
* Now you are ready to use SCOPT.
STRUCTURES:
* Some notes on the contents of the directory:
1. The main folder contains the main routines that implement the algorithms presented
in the paper. This includes: first order gradient and fast gradient methods,
proximal newton methods and path-following proximal newton methods for graphical
learning, logistic regression, maxnorm clustering, and poisson imaging application
examples.
2. "/examples" - contains the main routines that call the aforementioned functions for
different problem cases.
3. "/functions" - contains a variety of helper functions, used by the implemented
algorithms.
4. "/utilities" - contains general purpose functions (norm computation, functions that
print and second the information per iteration, etc.)
USAGE:
* For usage details on the configuration of the algorithms, type "help scopt_optimset" in
the Matlab prompt.
DOWNLOAD AND INSTALL THIRD-PARTY SOFTWARE:
Most of the example files contain comparison codes with off-the-shelf state-of-the-art codes. These include:
* SCOPT is compared with YALMIP as a modelling language in the maxnorm clustering example.
It can be downloaded at http://users.isy.liu.se/johanl/yalmip/.
* SCOPT is compared with CVX and TFOCS software packages in most application examples.
They can be downloaded at http://cvxr.com/.
* SCOPT is compared with QUIC algorithm in the graphical learning problem. The code for
QUIC can be downloaded at http://www.cs.utexas.edu/~sustik/QUIC/.
* For the logistic regression examples, our test codes utilize the libsvm package.
This package can be downloaded at http://www.csie.ntu.edu.tw/~cjlin/libsvmtools/
CONTACT:
* This code is in development stage; any comments or bug reports are very welcome.
Contacts:
Quoc TRAN DINH,
Volkan CEVHER,
Anastasios KYRILLIDIS,
Laboratory for Information and Inference Systems (LIONS),
EPFL STI IEL, Ecole Polytechnique Federale de Lausanne (EPFL),
Station 11, CH1015-Lausanne, Switzerland.
Email: quoc.trandinh@epfl.ch
volkan.cevher@epfl.ch
anastasios.kyrillidis@epfl.ch
***