JuMP

From HandWiki
Short description: Programming language
JuMP
Jump-logo-with-text-and-metadata.svg
Developers
  • Miles Lubin
  • Benoît Legat
  • Joaquim Dias Garcia
  • Joey Huchette
  • Oscar Dowson
First appeared2013; 11 years ago (2013)
Stable release
1.15.0 / September 14, 2023; 9 months ago (2023-09-14)
Implementation languageJulia
OSCross-platform: Linux, Mac OS X and Windows
LicenseMozilla MPL‑2.0 (JuMP), MIT (supporting packages)
Websitejump.dev
Influenced by
AMPL, PuLP

JuMP is an algebraic modeling language and a collection of supporting packages for mathematical optimization embedded in the Julia programming language.[1] JuMP is used by companies, government agencies, academic institutions, software projects, and individuals to formulate and submit optimization problems to third‑party solvers. JuMP has been specifically applied to problems in the field of operations research.[2]

Features

JuMP is a Julia package and domain-specific language that provides an API and syntax for declaring and solving optimization problems. Specialized syntax for declaring decision variables, adding constraints, and setting objective functions is facilitated by Julia's syntactic macros and metaprogramming features. JuMP supports linear programming, mixed integer programming, semidefinite programming, conic optimization, nonlinear programming, and other classes of optimization problems. JuMP provides access to over 30 solvers, including state-of-the-art commercial and open-source solvers.[3]

History

JuMP was first developed by Miles Lubin, Iain Dunning, and Joey Huchette while they were students at the Massachusetts Institute of Technology. Today, JuMP's core developers are Miles Lubin, Benoît Legat, Joaquim Dias Garcia, Joey Huchette, and Oscar Dowson. Miles Lubin additionally holds the title of BDFL.[4] JuMP is a sponsored project of NumFOCUS.[5]

Recognition

JuMP and its authors have been acknowledged by the 2015 COIN-OR Cup, the 2016 INFORMS Computing Society Prize, and the Mathematical Optimization Society's 2021 Beale – Orchard‑Hays Prize.[6][7][8]

See also

References

  1. Dunning, Iain; Huchette, Joey; Lubin, Miles (2017). "JuMP: a modeling language for mathematical optimization". SIAM Review 59 (2): 295–320. doi:10.1137/15M1020575. ISSN 0036-1445. https://mlubin.github.io/pdf/jump-sirev.pdf. Retrieved 2022-07-25. 
  2. Kwon, Changhyun (March 2019). Julia programming for operations research (2nd ed.). (Independently published). ISBN 978-1798205471.  Paperback edition.
  3. "Supported solvers". JuMP community. https://jump.dev/JuMP.jl/stable/installation/#Supported-solvers. 
  4. "Governance Structure". JuMP community. https://jump.dev/pages/governance/. 
  5. "JuMP". NumFOCUS. https://numfocus.org/project/jump. 
  6. "2021 Beale — Orchard-Hays Prize Citation". Mathematical Optimization Society. http://www.mathopt.org/?nav=boh_2021. 
  7. "COIN-OR Cup 2015 Winners". COIN-OR. https://www.coin-or.org/coinCup/coinCup2015Winner.html. 
  8. "ICS Prize 2012-2016". INFORMS Computing Society. https://connect.informs.org/computing/awards/ics-prize/ics-prize-2012-2016. 

External links