Revisiting Computing in Operations Research Using Julia

Miles Lubin, Massachusetts Institute of Technology

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. We will explore how Julia, a modern programming language for numerical computing that incorporates recent advances in language and compiler design (such as just-in-time compilation), can be used for implementing algorithms fundamental to the field of operations research. In particular, we demonstrate algebraic modeling for linear and nonlinear optimization, a partial implementation of a practical simplex code, and an asynchronous distributed decomposition algorithm for stochastic optimization. Extensive cross-language benchmarks suggest that Julia is capable of obtaining state-of-the-art performance.

Abstract Author(s): Miles Lubin