Software

  • DSA-BD v0.31032011 (March 31, 2011), Dynamic Scaled Adaptive Block Decomposition algorithm for Semidefinite Programming.
    DSA-BD is a MATLAB package developed by C. Ortiz, R. D. C. Monteiro and B. F. Svaiter for solving general semidefinite programs (SDPs) using a block-decomposition first-order method, which is a special case of the hybrid proximal extragradient (HPE) method, a framework of inexact proximal point methods introduced by B. F. Svaiter and M. Solodov. Several ingredients are introduced to speed-up the method in its pure form such as: an aggressive choice of stepsize for performing the extragradient step; use of scaled inner products in the primal and dual spaces; dynamic update of the scaled inner product in the primal space for properly balancing the primal and dual relative residuals, and; proper choices of the initial primal and dual iterates, as well as the initial parameter for the primal scaled inner product. The subroutines for most of the algebraic operations (SVD, matrix-vector multiplication) use a LAPACK implementation coded in C, using the SDP data structure implemented in SDPT3 (software package by K. C. Toh, M.J. Todd, and R. H. Tütüncu) and SDPNAL (software package by X. Y. Zhao, D. Sun, and K. C. Toh). The details of the algorithm used by DSA-BD can be found in the paper Implementation of a block decomposition algorithm for solving large-scale conic optimization problems by R. D. C. Monteiro, C. Ortiz and B. F. Svaiter.

    • Quick user guide (under development)
    • Download DSA-BD v0.31032011
    • HTML Documentation
    • Installation:
      The software DSA-BD requires a few mex-files that you may need to compile in MATLAB. To do so, run MATLAB in the directory DSA_BD, then type:>> Install_DSA_BD;

      After that, to see whether you have installed the software correctly, type the following in MATLAB:

      >> DSA_BD_demo;

  • 2EBD-HPE v0.2 (May 31, 2013), Two-Easy-Block-Decomposition HPE algorithm for convex optimization.
    2EBD-HPE is a MATLAB package developed by C. Ortiz, R.D.C. Monteiro and B.F. Svaiter for solving two-easy-block structured convex optimizations problems (including SDPs) using a block-decomposition first-order method. The 2EBD-HPE method contains two important refinements from a computational point of view, namely: an adaptive choice of stepsize for performing an extragradient step; and the use of a scaling factor to balance the blocks.The details of the algorithm used by 2EBD-HPE can be found in the paper A first-order block-decomposition method for solving two-easy-block structured semidefinite programs by R. D. C. Monteiro, C. Ortiz and B. F. Svaiter.

    • Quick user guide (under development)
    • Download 2EBD-HPE v0.2
    • HTML Documentation
    • Installation:
      The software 2EBD-HPE requires a few mex-files that you may need to compile in MATLAB. To do so, run MATLAB in the directory 2EBD-HPE_v0.2, then type:>> unzip data;
      >> Install_TEBD;

      After that, to see whether you have installed the software correctly, type either one of the following lines in MATLAB:

      >> TEBD_test_SDPs;
      >> TEBD_test_All;

  • AA method v0.31082012 (August 31, 2012) **Under REVISION**, Adaptive accelerated method for convex optimization.
    The AA method is a new accelerated variant of Nesterov’s method for solving a class of convex optimization problems, in which certain acceleration parameters are adaptively (and aggressively) chosen so as to: preserve the theoretical iteration-complexity of the original method, and; substantially improve its practical performance. The details of the algorithm used by the AA method can be found in the paper An adaptive accelerated first-order method for convex optimization by R. D. C. Monteiro, C. Ortiz and B. F. Svaiter.

    • Quick user guide (under development)
    • Download AA_method v0.31082012
    • HTML Documentation
    • Installation:
      The software AA_method requires a few mex-files that you may need to compile in MATLAB. To do so, run MATLAB in the directory TEBD, then type:>> Install_AA_method;

      After that, to see whether you have installed the software correctly, type the following in MATLAB:

      >> AA_method_demo;