Computing in Operations Research Using Julia 论文

2015INFORMS journal on computing引用 338
Numerical Methods and AlgorithmsParallel Computing and Optimization TechniquesFormal Methods in Verification

摘要

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. Data, as supplemental material, are available at http://dx.doi.org/10.1287/ijoc.2014.0623 .