Computing in Operations Research Using Julia

被引:198
作者
Lubin, Miles [1 ]
Dunning, Iain [1 ]
机构
[1] MIT, Ctr Operat Res, Cambridge, MA 02139 USA
关键词
algebraic modeling; scientific computing; programming languages; metaprogramming; PROGRAMS;
D O I
10.1287/ijoc.2014.0623
中图分类号
TP39 [计算机的应用];
学科分类号
081203 ; 0835 ;
摘要
The state of numerical computing is currently characterized by a divide between highly efficient yet typically cumbersome low-level languages such as C, C++, and Fortran and highly expressive yet typically slow high-level languages such as Python and MATLAB. This paper explores how Julia, a modern programming language for numerical computing that claims to bridge this divide by incorporating recent advances in language and compiler design (such as just-in-time compilation), can be used for implementing software and algorithms fundamental to the field of operations research, with a focus on mathematical optimization. In particular, we demonstrate algebraic modeling for linear and nonlinear optimization and a partial implementation of a practical simplex code. Extensive cross-language benchmarks suggest that Julia is capable of obtaining state-of-the-art performance.
引用
收藏
页码:238 / 248
页数:11
相关论文
共 25 条
[1]  
Andersson J, 2013, THESIS ESAT SCD OPTI
[2]  
[Anonymous], 1985, Mathematical Programming Society COAL Newsletter
[3]   Branching and bounds tightening techniques for non-convex MINLP [J].
Belotti, Pietro ;
Lee, Jon ;
Liberti, Leo ;
Margot, Francois ;
Waechter, Andreas .
OPTIMIZATION METHODS & SOFTWARE, 2009, 24 (4-5) :597-634
[4]  
Bezanson Jeff, 2012, Julia: A Fast Dynamic Language for Technical Computing
[5]   Solving real-world linear programs: A decade and more of progress [J].
Bixby, RE .
OPERATIONS RESEARCH, 2002, 50 (01) :3-15
[6]  
Bolz Carl Friedrich, 2009, ICOOOLPS, P18, DOI DOI 10.1145/1565824.1565827
[7]  
Brooke A., 1988, GAMS: A User's Guide
[8]   SPARSE-MATRIX TEST PROBLEMS [J].
DUFF, IS ;
GRIMES, RG ;
LEWIS, JG .
ACM TRANSACTIONS ON MATHEMATICAL SOFTWARE, 1989, 15 (01) :1-14
[9]   DrAmpl: a meta solver for optimization problem analysis [J].
Fourer, R. ;
Orban, Dominique .
COMPUTATIONAL MANAGEMENT SCIENCE, 2010, 7 (04) :437-463
[10]  
Fourer R., 1993, AMPL: A Modeling Language for Mathematical Programming