Computing in Operations Research Using Julia

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 p...

Full description

Saved in:
Bibliographic Details
Published inINFORMS journal on computing Vol. 27; no. 2; pp. 238 - 248
Main Authors Lubin, Miles, Dunning, Iain
Format Journal Article
LanguageEnglish
Published INFORMS 22.03.2015
Institute for Operations Research and the Management Sciences
Subjects
Online AccessGet full text
ISSN1091-9856
1526-5528
DOI10.1287/ijoc.2014.0623

Cover

More Information
Summary: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 .
ISSN:1091-9856
1526-5528
DOI:10.1287/ijoc.2014.0623