coin-or / Gravity
Labels
Mathematical Modeling for Optimization and Machine Learning
Created by Hassan Hijazi.
www.gravityopt.com
License
Gravity is licensed under the BSD 3-Clause License. Please see the LICENSE file for details.
Citing
The original paper was presentend at the Machine Learning Open Source Software Workshop at NeurIPS 2018, a longer version of the paper can be downloaded here.
Bibtex ref:
@article{Gravity, title={Gravity: A Mathematical Modeling Language for Optimization and Machine Learning}, author={Hassan Hijazi and Guanglei Wang and Carleton Coffrin}, journal={Machine Learning Open Source Software Workshop at NeurIPS 2018}, year={2018}, note = {Available at \url{www.gravityopt.com}.}, publisher={The Thirty-second Annual Conference on Neural Information Processing Systems (NeurIPS)} }
Contributors
Hassan Hijazi, Los Alamos National Laboratory, The Australian National University | [email protected]
Guanglei Wang, Ksenia Bestuzheva, Carleton Coffrin, Smitha Gopinath, Mertcan Yetkin
See INSTALL.md for instructions on compiling Gravity
After running make, the Gravity executables can be found under Gravity/bin/
Getting Started
First, you will need to install an IDE, I recommend to choose among the following:
The model below was implemented in Xcode:
Some Numerical Results:
Performance Profile on ACOPF
The first figure below is a performance profile illustrating percentage of instances solved as a function of time. The figure compares Gravity, JuMP and AMPL's NL interface (used by AMPL and Pyomo) on all standard instances found in the PGLIB benchmark library.
The figure below compares model build time between Gravity and JuMP on the PGLIB benchmarks.
Performance Profile on Inverse Ising Model
Click here for more details.