Skip to content

coin-or/Gravity

Folders and files

NameName
Last commit message
Last commit date

Latest commit

16d6889 · Jan 16, 2024
Feb 23, 2023
Feb 23, 2023
Mar 7, 2023
May 3, 2022
Apr 6, 2023
Feb 16, 2023
Apr 5, 2022
Jan 27, 2020
Oct 21, 2022
Mar 7, 2022
Dec 15, 2019
Apr 7, 2022
Jan 16, 2024
Nov 21, 2018
Feb 16, 2023
Nov 21, 2018
Apr 5, 2022
Mar 7, 2022

Repository files navigation

License Github Actions Code Coverage download

Chat on Slack

Mathematical Modeling for Optimization and Machine Learning

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)} }

Getting Started

First, you will need to install an IDE, I recommend to choose among the following:

Visual Studio Clion Xcode Eclipse

Then, follow the instructions presented in INSTALL.md.

After building, the Gravity library can be found under Gravity/lib, and the executables (from Gravity/examples) can be found under Gravity/bin/Release

The model below was implemented in Xcode:

cover-example

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.

Performance Profile on ACOPF

The figure below compares model build time between Gravity and JuMP on the PGLIB benchmarks.

Model Build Time on ACOPF


Performance Profile on Inverse Ising Model

Performance Profile on Inverse Ising

License

Gravity is licensed under the BSD 3-Clause License. Please see the LICENSE file for details.

Contributors

See the list of contributors here