HackerPapers

arXiv:1312.1431math.OC

Computing in Operations Research using Julia

Miles Lubin, Iain Dunning

Abstract

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

arXiv comments
Source code included in supplement
Journal reference
DOI
doi:10.1287/ijoc.2014.0623
Subjects
math.OCOptimization and Control cs.PLProgramming Languages math.NANumerical Analysis

On Hacker News

Linked by 3 identifiable commenters in 4 comments across 4 threads, from Mar 2014 to Nov 2016.

Comments linking this paper, per year.

Discussed in comments4 threads

    • > Imagine if you did dev on Julia - how do you hire devs? Julia doesn't take long to learn if you've ever written any Python, or Matlab, or R. It's very good at calling into existing code written in other languages (the above, and C) so it's possible to transition gradually. >…

      tavertView on HNParent context

    • If you're interested in model generation time, have a look at JuMP (https://github.com/JuliaOpt/JuMP.jl). More discussions on the speed of modeling languages at http://arxiv.org/abs/1312.1431 and http://arxiv.org/abs/1508.01982

      mlubinView on HNParent context

    • The language I used, JuMP [1], is quite similar to AMPL. In fact in [2] we do performance comparisons with it. Check it out if you have a chance. [1] https://github.com/JuliaOpt/JuMP.jl [2] http://arxiv.org/abs/1312.1431

      idunningView on HNParent context

    • Very cool. We had a similar experience when implementing the Simplex method for linear optimization, except we evaluated PyPy versus Julia instead of Cython. Its similar in that it benchmarks "just" the language, not BLAS, which is common pitfall I see when people compare the…

      idunningView on HNParent context

Submitted to Hacker News

Connected through shared HN threads, not inferred similarity or a recommendation.