/GoML.jl

Primary LanguageJuliaMIT LicenseMIT

GoML

GoML (Global Optimization using Machine Learning) is a Julia package that allows for the solution of global optimization problems using mixed-integer (MI) linear and convex approximations. It is an implementation of the methods detailed in this paper and submitted to the Journal of Global Optimization (JOGO). GoML is licensed under the MIT License. This framework is an extension of OCHaGOn.

GoML relies on the JuMP.jl modeling language in its backend, and it develops MIO approximations using Interpretable AI, with a free academic license. The problems can then be solved by JuMP-compatible solvers, depending on the type of approximation. GoML's default solver is Gurobi, which is free with an academic license as well.

Installation

The framework has been tested on Windows 10 with Julia 1.6.2 and an Interpretable AI version of 2.2 and a Gurobi version of 8. For installations, go to the directory of the repository and run:

julia --project=./

Once you enter the Julia repl, do:

]activate test

Then, once inside the Julia package manager do:

instantiate 

Running the software

For running the benchmarks detailed in detailed the paper, do the following:

julia --project=./

Once you enter the Julia repl, do:

]activate test

Then, hit backspace to revert back to the julia terminal and do:

include("test/benchmarks/allbench.jl")

The results will be exported in dump/benchmarks into a CSV format.