Besides theoretical studies, Dr. Lan has a strong interest in computation and implementation. He had worked on the development of commercial firmware and SDK (software development kit) from 2000-2002 in Trident. He is currently developing codes for optimization and pursuing their applications in large-scale data analysis. Below is an incomplete list of computer programs written by Dr. Lan and/or his student co-authors, which can be downloaded for free for academic purposes. Please contact george.lan@isye.gatech.edu if there exist any problems.
1. SCPTool – an efficient algorithm for solving unicost and non-unicost set covering problems (SCP) (updated in 2004).
- Main programmer: Guanghui Lan.
- Language and complier: C++, Borland C++ Builder.
- Source code: click here.
- Publication: G. Lan, G. W. DePuy, and G. E. Whitehouse, “An effective and simple heuristic for the set covering problem“, European Journal of Operational Research 176 (2007), 1387-1403.
- Notes: A GUI interface is provided in the program. Test instances can be downloaded from Beasley’s OR-Library.
2. StochApp – a set of codes implementing mirror-descent stochastic approximation for stochastic optimization (updated in 2007,2008).
- Main programmer: Guanghui Lan.
- Language and complier: C, Microsoft Visual Studio, and MATLAB.
- Source code:
- Publications: (1) A. Nemirovski, A.Juditsky, G. Lan, and A. Shapiro, “Robust stochastic approximation approach to stochasticprogramming“, SIAM Journal on Optimization 19 (2009), 1574-1609, and (2) G. Lan, A. Nemirovski, and A. Shapiro, “Validation analysis of mirror descent stochastic approximation method“, Mathematical Programming, 134 (2), 2012, 425-458.
- Notes: In order to run the code, please compile the C code, save the binary file, and run it together with the Matlab interface in RunExp.m. Instances can be generated using the tool. Some sample instances can be downloaded here: (1) utility instances, (2) maximum flow instances, and (3) CVaR Instances.
3. PDFirst – a primal-dual first-order method for semidefinite programming (updated in 2007).
- Main programmer: Guanghui Lan.
- Language and complier: C, GCC.
- Source code: click here.
- Publication: G. Lan, Z. Lu, and R.D.C. Monteiro, “Primal-dual first-order methods with ${\cal O}(1/\epsilon)$ iterationcomplexity for cone programming“, Mathematical Programming, 126 (2011), 1-29.
- Notes: A command line interface is included into the program. Random SDP instances can be generated using this tool.
4. AC-SA – accelerated stochastic approximation for stochastic optimization (updated in 2010).
- Main programmer: Saeed Ghadimi.
- Language: MATLAB.
- Source code: click here.
- Publication: S. Ghadimi and G. Lan, “Optimal stochastic approximation algorithms for strongly convex stochastic composite optimization, II: shrinking procedures and optimal algorithms“, SIAM Journal on Optimization, 23(4), 2013, 2061–2089.
- NOTES: This program consists of the implementation of different SA algorithms, such as classic SA, mirror-descent SA, single-stage AC-SA, and multi-stage AC-SA. It contains a simple menu so that you can choose one of these algorithms. The interface is included in the mainprogram.m and instances can be generated and a number of test instances (with .mat extension) are provided.
5. APL – a set of codes implementing the accelerated prox-level and uniform smoothing level methods (updated in 2012).
- Main programmer: Guanghui Lan.
- Language: MATLAB.
- Source code:
- Publication: G. Lan, “Bundle-level type methods uniformly optimal for smooth and nonsmooth convex optimization“, Mathematical Programming, accepted for publication, Oct. 4, 2013.
- Notes: You can run these programs by using the MATLAB interface in RunExp.m. Instances can be generated by using the tool. Some test instances are provided here: (1) Eigenvalue instances and (2) Lovasz instances. Observe that the stochastic programming instances are included in the source code.
6. Noncovex-SA – randomized stochastic gradient method for nonconvex stochastic optimization (Updated in 2012, 2013).
- Main programmer: Saeed Ghadimi.
- Language: MATLAB.
- Source code:
- Publications: (1) S. Ghadimi and G. Lan, “Stochastic First- and Zeroth-order Methods for Nonconvex Stochastic Programming“, SIAM Journal on Optimization, accepted for publication, October 10, 2013, and (2) S.Ghadimi, G. Lan and H. Zhang, Mini-batch Stochastic Approximation Methods for Nonconvex Stochastic Composite Optimization, technical report, Department of Industrial and Systems Engineering, University of Florida, August 23, 2013 (submitted for publication).
7. LCP – Linear-optimization-based convex programming methods (updated in 2013).
- Main programmer: Guanghui Lan.
- Language: MATLAB.
- Source code: click here.
- Publication: G. Lan, “The Complexity of Large-scale Convex Programming under a Linear Optimization Oracle“, technical report, Department of Industrial and Systems Engineering, University of Florida, June 2, 2013 (submitted for publication).
- Notes: You can run these programs by using the MATLAB interface in RunExp.m. The instances can be generated using this tool and some test instances can be found here.
8. APD – Accelerated primal-dual method for saddle-point problems (updated in 2013).
- Main programmer: Yuyuan Ouyang.
- Language: MATLAB.
- Source code: click here.
- Publication: Y. Chen, G. Lan, and Y. Ouyang, “Optimal Primal-Dual Methods for a Class of Saddle Point Problems“, technical report, Department of Industrial and Systems Engineering, University of Florida, revision submitted to SIAM Journal on Optimization, December 9th, 2013.
9. SBMD – Stochastic block mirror-descent methods (updated in 2014).
- Main programmer: Cong Dang.
- Language: MATLAB.
- Source code: click here.
- Publication: C. Dang and G. Lan, “Stochastic Block Mirror Descent Methods for Nonsmooth and Stochastic Optimization“, technical report, Department of Industrial and Systems Engineering, University of Florida, June 9, 2014, revision submitted to SIAM Journal on Optimization“.
10. FAPL – Fast APL method (updated in 2014).
- Main programmer: Wei Zhang.
- Language: MATLAB.
- Source code: click here.
- Publication: Y. Chen, G. Lan, Y. Ouyang and W. Zhang*, “Fast Bundle-level Methods and Applications to Image Reconstruction“, submitted for publication, October, 2016.