BONMIN#
The COIN Bonmin solver (BONMIN) is an experimental open-source C++ code for solving general MINLP (Mixed Integer NonLinear Programming) problems of the form:
min f(x)
s.t. g_L <= g(x) <= g_U
x_L <= x <= x_U
x_i in Z for all i in I and,
x_i in R for all i not in I.
where f(x): R^n --> R
, g(x): R^n --> R^m
are twice continuously differentiable functions and I
is a subset of {1,..,n}
.
The algorithms in Bonmin are exact when the functions f
and g
are convex; in the case where f
or g
or both are non-convex they are heuristics.
Learn More | Options | Download BONMIN
How to use it#
ampl: option solver bonmin; # change the solver
ampl: option bonmin_options 'option1=value1 option2=value2'; # specify options
ampl: solve; # solve the problem
How to install using amplpy:
# Install Python API for AMPL:
$ python -m pip install amplpy --upgrade
# Install AMPL & solver modules:
$ python -m amplpy.modules install coin # install BONMIN
# Activate your license (e.g., free ampl.com/ce or ampl.com/courses licenses):
$ python -m amplpy.modules activate <your-license-uuid>
How to use:
from amplpy import AMPL
ampl = AMPL()
...
ampl.solve(solver="bonmin", bonmin_options="option1=value1 option2=value2")
Learn more about what we have to offer to implement and deploy Optimization in Python.
Resources#
Solver options#
Full list of solver options:
More details on solver options: Features guide.
Retrieving solutions#
The outcome of the last optimization is stored in the AMPL parameter solve_result_num
and the relative message in
solve_result
.
display solve_result_num, solve_result;
BONMIN solve result codes:
0- 99 solved: optimal for an optimization problem, feasible for a satisfaction problem
100-199 solved? solution candidate returned but error likely
200-299 infeasible
300-399 unbounded
400-499 limit
500-999 failure, no solution returned