https://github.com/jump-dev/baron.jl
A Julia interface to the BARON mixed-integer nonlinear programming solver
https://github.com/jump-dev/baron.jl
julia jump-jl mixed-integer-programming nonlinear-programming
Last synced: 6 months ago
JSON representation
A Julia interface to the BARON mixed-integer nonlinear programming solver
- Host: GitHub
- URL: https://github.com/jump-dev/baron.jl
- Owner: jump-dev
- License: mit
- Created: 2015-01-19T16:02:11.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2025-04-11T02:50:58.000Z (6 months ago)
- Last Synced: 2025-04-11T03:35:38.203Z (6 months ago)
- Topics: julia, jump-jl, mixed-integer-programming, nonlinear-programming
- Language: Julia
- Homepage: http://minlp.com/baron
- Size: 154 KB
- Stars: 20
- Watchers: 3
- Forks: 12
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# BARON.jl
[](https://github.com/jump-dev/BARON.jl/actions?query=workflow%3ACI)
[](https://codecov.io/gh/jump-dev/BARON.jl)[BARON.jl](https://github.com/jump-dev/BARON.jl) is a wrapper for
[BARON by The Optimization Firm](http://minlp.com/baron).## Affiliation
This wrapper is maintained by the JuMP community and is not officially supported
by The Optimization Firm.## Getting help
If you need help, please ask a question on the [JuMP community forum](https://jump.dev/forum).
If you have a reproducible example of a bug, please [open a GitHub issue](https://github.com/jump-dev/BARON.jl/issues/new).
## License
`BARON.jl` is licensed under the [MIT License](https://github.com/jump-dev/BARON.jl/blob/master/LICENSE.md).
The underlying solver is a closed-source commercial product for which you must
obtain a license from [The Optimization Firm](http://minlp.com), although a
small trial version is available for free.## Installation
First, download a copy of [the BARON solver](http://minlp.com/) and unpack the
executable in a location of your choosing.Once installed, set the `BARON_EXEC` environment variable pointing to the BARON
executable (full path, including file name as it differs across platforms), and
run `Pkg.add("BARON")`. For example:```julia
ENV["BARON_EXEC"] = "/path/to/baron.exe"
using Pkg
Pkg.add("BARON")
```The `baronlice.txt` license file should be placed in the same directory as the
BARON executable, or in your current working directory.## Use with JuMP
```julia
using JuMP, BARON
model = Model(BARON.Optimizer)
set_attribute(m, "PrLevel", 1)
```## MathOptInterface API
The BARON optimizer supports the following constraints and attributes.
List of supported objective functions:
* [`MOI.ObjectiveFunction{MOI.ScalarAffineFunction{Float64}}`](@ref)
* [`MOI.ObjectiveFunction{MOI.ScalarQuadraticFunction{Float64}}`](@ref)
* [`MOI.ObjectiveFunction{MOI.ScalarNonlinearFunction}`](@ref)List of supported variable types:
* [`MOI.Reals`](@ref)
List of supported constraint types:
* [`MOI.ScalarAffineFunction{Float64}`](@ref) in [`MOI.EqualTo{Float64}`](@ref)
* [`MOI.ScalarAffineFunction{Float64}`](@ref) in [`MOI.GreaterThan{Float64}`](@ref)
* [`MOI.ScalarAffineFunction{Float64}`](@ref) in [`MOI.Interval{Float64}`](@ref)
* [`MOI.ScalarAffineFunction{Float64}`](@ref) in [`MOI.LessThan{Float64}`](@ref)
* [`MOI.ScalarQuadraticFunction{Float64}`](@ref) in [`MOI.EqualTo{Float64}`](@ref)
* [`MOI.ScalarQuadraticFunction{Float64}`](@ref) in [`MOI.GreaterThan{Float64}`](@ref)
* [`MOI.ScalarQuadraticFunction{Float64}`](@ref) in [`MOI.Interval{Float64}`](@ref)
* [`MOI.ScalarQuadraticFunction{Float64}`](@ref) in [`MOI.LessThan{Float64}`](@ref)
* [`MOI.ScalarNonlinearFunction`](@ref) in [`MOI.EqualTo{Float64}`](@ref)
* [`MOI.ScalarNonlinearFunction`](@ref) in [`MOI.GreaterThan{Float64}`](@ref)
* [`MOI.ScalarNonlinearFunction`](@ref) in [`MOI.Interval{Float64}`](@ref)
* [`MOI.ScalarNonlinearFunction`](@ref) in [`MOI.LessThan{Float64}`](@ref)
* [`MOI.VariableIndex`](@ref) in [`MOI.EqualTo{Float64}`](@ref)
* [`MOI.VariableIndex`](@ref) in [`MOI.GreaterThan{Float64}`](@ref)
* [`MOI.VariableIndex`](@ref) in [`MOI.Integer`](@ref)
* [`MOI.VariableIndex`](@ref) in [`MOI.Interval{Float64}`](@ref)
* [`MOI.VariableIndex`](@ref) in [`MOI.LessThan{Float64}`](@ref)
* [`MOI.VariableIndex`](@ref) in [`MOI.ZeroOne`](@ref)List of supported model attributes:
* [`MOI.NLPBlock()`](@ref)
* [`MOI.ObjectiveSense()`](@ref)