Skip to content

Commit

Permalink
Release Gurobi, Baron MP, and HiGHS
Browse files Browse the repository at this point in the history
  • Loading branch information
fdabrandao committed Nov 19, 2024
1 parent c214196 commit a7bf737
Show file tree
Hide file tree
Showing 8 changed files with 303 additions and 125 deletions.
112 changes: 7 additions & 105 deletions docs/source/releases/index.md

Large diffs are not rendered by default.

241 changes: 241 additions & 0 deletions docs/source/solvers/baron/baronmp.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,241 @@

# BARON Options

```ampl
ampl: option solver baronmp; # change the solver
ampl: option baronmp_options 'option1=value1 option2=value2'; # specify options
ampl: solve; # solve the problem
```

Solver options obtained with `$ baronmp -=`.

```
BARONMP Optimizer Options for AMPL
--------------------------------------------
To set these options, assign a string specifying their values to the AMPL
option "baronmp_options". For example:
ampl: option baronmp_options 'mipgap=1e-6';
Options:
acc:_all
Solver acceptance level for all constraints and expressions. Value
meaning: as described in the specific acc:... options.
Can be useful to disable all reformulations (acc:_all=2), or force
linearization (acc:_all=0.)
acc:_expr
Solver acceptance level for all expressions, default 1:
0 - Not accepted, all expressions will be treated as flat constraints,
or redefined
1 - Accepted. See the individual acc:... options
acc:div
Solver acceptance level for 'DivConstraint' as expression, default 4:
0 - Not accepted natively, automatic redefinition will be attempted
3 - Accepted but automatic redefinition will be used where possible
4 - Accepted natively and preferred
acc:exp
Solver acceptance level for 'ExpConstraint' as either constraint or
expression, default 4:
0 - Not accepted natively, automatic redefinition will be attempted
1 - Accepted as constraint but automatic redefinition will be used
where possible
2 - Accepted as constraint natively and preferred
3 - Accepted as expression but automatic redefinition will be used
where possible
4 - Accepted as expression natively and preferred
acc:expa (acc:expA)
Solver acceptance level for 'ExpAConstraint' as either constraint or
expression, default 4:
0 - Not accepted natively, automatic redefinition will be attempted
1 - Accepted as constraint but automatic redefinition will be used
where possible
2 - Accepted as constraint natively and preferred
3 - Accepted as expression but automatic redefinition will be used
where possible
4 - Accepted as expression natively and preferred
acc:lineq
Solver acceptance level for 'LinConEQ' as flat constraint, default 2:
0 - Not accepted natively, automatic redefinition will be attempted
1 - Accepted but automatic redefinition will be used where possible
2 - Accepted natively and preferred
acc:linfunccon
Solver acceptance level for 'LinearFunctionalConstraint' as expression,
default 4:
0 - Not accepted natively, automatic redefinition will be attempted
3 - Accepted but automatic redefinition will be used where possible
4 - Accepted natively and preferred
acc:linge
Solver acceptance level for 'LinConGE' as flat constraint, default 2:
0 - Not accepted natively, automatic redefinition will be attempted
1 - Accepted but automatic redefinition will be used where possible
2 - Accepted natively and preferred
acc:linle
Solver acceptance level for 'LinConLE' as flat constraint, default 2:
0 - Not accepted natively, automatic redefinition will be attempted
1 - Accepted but automatic redefinition will be used where possible
2 - Accepted natively and preferred
acc:linrange (acc:linrng)
Solver acceptance level for 'LinConRange' as flat constraint, default 2:
0 - Not accepted natively, automatic redefinition will be attempted
1 - Accepted but automatic redefinition will be used where possible
2 - Accepted natively and preferred
acc:log
Solver acceptance level for 'LogConstraint' as either constraint or
expression, default 4:
0 - Not accepted natively, automatic redefinition will be attempted
1 - Accepted as constraint but automatic redefinition will be used
where possible
2 - Accepted as constraint natively and preferred
3 - Accepted as expression but automatic redefinition will be used
where possible
4 - Accepted as expression natively and preferred
acc:loga (acc:logA)
Solver acceptance level for 'LogAConstraint' as either constraint or
expression, default 4:
0 - Not accepted natively, automatic redefinition will be attempted
1 - Accepted as constraint but automatic redefinition will be used
where possible
2 - Accepted as constraint natively and preferred
3 - Accepted as expression but automatic redefinition will be used
where possible
4 - Accepted as expression natively and preferred
acc:nlassigneq
Solver acceptance level for 'NLAssignEQ' as flat constraint, default 2:
0 - Not accepted natively, automatic redefinition will be attempted
1 - Accepted but automatic redefinition will be used where possible
2 - Accepted natively and preferred
acc:nlassignge
Solver acceptance level for 'NLAssignGE' as flat constraint, default 2:
0 - Not accepted natively, automatic redefinition will be attempted
1 - Accepted but automatic redefinition will be used where possible
2 - Accepted natively and preferred
acc:nlassignle
Solver acceptance level for 'NLAssignLE' as flat constraint, default 2:
0 - Not accepted natively, automatic redefinition will be attempted
1 - Accepted but automatic redefinition will be used where possible
2 - Accepted natively and preferred
acc:nlcon (acc:nlalgcon)
Solver acceptance level for 'NLConstraint' as flat constraint, default
2:
0 - Not accepted natively, automatic redefinition will be attempted
1 - Accepted but automatic redefinition will be used where possible
2 - Accepted natively and preferred
acc:powconstexp
Solver acceptance level for 'PowConstExpConstraint' as either constraint
or expression, default 4:
0 - Not accepted natively, automatic redefinition will be attempted
1 - Accepted as constraint but automatic redefinition will be used
where possible
2 - Accepted as constraint natively and preferred
3 - Accepted as expression but automatic redefinition will be used
where possible
4 - Accepted as expression natively and preferred
acc:quadeq
Solver acceptance level for 'QuadConEQ' as flat constraint, default 2:
0 - Not accepted natively, automatic redefinition will be attempted
1 - Accepted but automatic redefinition will be used where possible
2 - Accepted natively and preferred
acc:quadfunccon
Solver acceptance level for 'QuadraticFunctionalConstraint' as
expression, default 4:
0 - Not accepted natively, automatic redefinition will be attempted
3 - Accepted but automatic redefinition will be used where possible
4 - Accepted natively and preferred
acc:quadge
Solver acceptance level for 'QuadConGE' as flat constraint, default 2:
0 - Not accepted natively, automatic redefinition will be attempted
1 - Accepted but automatic redefinition will be used where possible
2 - Accepted natively and preferred
acc:quadle
Solver acceptance level for 'QuadConLE' as flat constraint, default 2:
0 - Not accepted natively, automatic redefinition will be attempted
1 - Accepted but automatic redefinition will be used where possible
2 - Accepted natively and preferred
acc:quadrange (acc:quadrng)
Solver acceptance level for 'QuadConRange' as flat constraint, default
2:
0 - Not accepted natively, automatic redefinition will be attempted
1 - Accepted but automatic redefinition will be used where possible
2 - Accepted natively and preferred
alg:deltaa (deltaa)
Adjustment parameter for delta values.
alg:deltar (deltar)
Relative delta adjustment.
alg:deltat (deltat)
Time-based delta adjustment.
alg:deltaterm (deltaterm)
Delta termination criterion.
alg:epsa (epsa)
EpsA convergence tolerance (default 1e-6). BARON stops if the current
function value f satisfies abs(f - L) <= epsa, where L is the currently
best available bound on f.
alg:epsr (epsr)
BARON's EpsR convergence tolerance (default 1e-9). BARON stops if the
current function value f satisfies abs(f - L) <= abs(L*epsr), where L is
the currently best available bound on f.
alg:firstfeas (firstfeas)
If set to 1, BARON will terminate once it finds numsol feasible
solutions, irrespective of solution quality. Default is 0, meaning that
BARON will search for the *best* numsol feasible solutions.
alg:firstloc (firstloc)
If set to 1, BARON will terminate once it finds a local optimum,
irrespective of solution quality. Default is 0, meaning that BARON will
search for the best numsol feasible solutions.
alg:iisfind (iisfind, iis)
Whether to find and export an IIS. Default = 0 (don't export).
```

14 changes: 14 additions & 0 deletions docs/source/solvers/baron/changesmp.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# BARON Changelog


## 20241119
- Beta release of MP driver for Baron, use with option `option solver baronmp;`,
to use the original ASL driver use `option solver baron;`
- Breaking changes with ASL driver:
- `version` keyword removed
- Changed behaviour of the `iisfind` option to be consistent with MP features;
see `alg:iisfind`, `alg:iismethod`, `alg:iisint`
- Absolute values are reformulated as MIP instead of abs(x)=(x^2)^0.5
- Added option value `local` to `scratch` that automatically places the scratch
files in a directory with the name derived from the model file (e.g. for
`/test/model.nl` the directory will be `/test/model.nl_baron/`)
6 changes: 6 additions & 0 deletions docs/source/solvers/gurobi/changes.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# GUROBI Changelog


## 20241119
- MP changes: added support for x^y expressions, where x and y
are variables


## 20241114
- Updated to Gurobi 12.0 which provides performance improvements
across a variety of model families
Expand Down
9 changes: 5 additions & 4 deletions docs/source/solvers/gurobi/options.md
Original file line number Diff line number Diff line change
Expand Up @@ -223,9 +223,9 @@ acc:pl (acc:pwl, acc:piecewise)
1 - Accepted but automatic redefinition will be used where possible
2 - Accepted natively and preferred
acc:pow
Solver acceptance level for 'PowConstraint' as either constraint or
expression, default 4:
acc:powconstexp
Solver acceptance level for 'PowConstExpConstraint' as either constraint
or expression, default 4:
0 - Not accepted natively, automatic redefinition will be attempted
1 - Accepted as constraint but automatic redefinition will be used
Expand Down Expand Up @@ -1231,7 +1231,8 @@ pre:funcnonlinear (funcnonlinear, global)
Controls how general functions with their constraint's or objective's
suffix .funcnonlinear or, if not available, .global unset (or set to 0)
are treated (ATTENTION: different meaning than Gurobi FuncNonLinear
parameter and attribute):
parameter and attribute; ATTENTION: also set acc:_expr=0 with
pre:funcnonlinear=-1 to use 'general constraints'):
-1 - Piecewise-linear approximation
0 - Automatic (default)
Expand Down
4 changes: 4 additions & 0 deletions docs/source/solvers/highs/changes.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
# HiGHS Changelog


## 20241119
- Updated to HiGHS 1.8.1


## 20240724
- Option *acc:_all*
- Useful to disable all reformulations (acc:_all=2),
Expand Down
35 changes: 22 additions & 13 deletions docs/source/solvers/highs/options.md
Original file line number Diff line number Diff line change
Expand Up @@ -103,8 +103,9 @@ alg:pdlpdgaptol (pdlpdgaptol, pdlp_d_gap_tol)
Duality gap tolerance for PDLP solver (default 1e-4).
alg:rays (rays)
Whether to return suffix .unbdd if the objective is unbounded or suffix
.dunbdd if the constraints are infeasible:
Whether to return suffix .unbdd (unbounded ray) if the objective is
unbounded or suffix .dunbdd (Farkas dual) if the constraints are
infeasible:
0 - Neither
1 - Just .unbdd
Expand Down Expand Up @@ -235,8 +236,9 @@ cvt:quadcon (passquadcon)
quadratic terms, then they are linearized.
cvt:quadobj (passquadobj)
0/1*: Multiply out and pass quadratic objective terms to the solver, vs.
linear approximation.
0/1*: Pass quadratic objective terms to the solver. If the solver
accepts quadratic constraints, such a constraint will be created with
those, otherwise linearly approximated.
cvt:socp (socpmode, socp)
Second-Order Cone recognition mode:
Expand Down Expand Up @@ -322,10 +324,6 @@ lim:stallnodes (stallnodelim, stallnodelimit, mip_max_stall_nodes)
lim:time (timelim, timelimit, time_limit)
Limit on solve time (in seconds; default: no limit).
mip:absgaptol (absgaptol, mip_abs_gap)
Tolerance on absolute gap of MIP, |ub-lb|, to determine whether
optimality has been reached for a MIP instance (default 1e-06).
mip:bestbound (bestbound, return_bound)
Whether to return suffix .bestbound for the best known MIP dual bound on
the objective value:
Expand All @@ -340,6 +338,14 @@ mip:bestbound (bestbound, return_bound)
mip:detsimmetry (detsimmetry, mip_detect_symmetry)
Whether symmetry should be detected (default 1)
mip:gap (mipgap, mip:relgaptol, relgaptol, mip_rel_gap)
Tolerance on relative gap, | ub - lb|/|ub | , to determine whether
optimality has been reached for a MIP instance (default 1e-04).
mip:gapabs (mipgapabs, mip:absgaptol, absgaptol, mip_abs_gap)
Tolerance on absolute gap of MIP, |ub-lb|, to determine whether
optimality has been reached for a MIP instance (default 1e-06).
mip:heureff (heureff, mip_heuristic_effort)
Fraction of time to spend in MIP heuristics (default 0.05).
Expand All @@ -362,10 +368,6 @@ mip:pscostreliability (pscostreliability, mip_pscost_minreliable)
Minimal number of observations before pseudo costs are considered
reliable(default 8)
mip:relgaptol (relgaptol, mip_rel_gap)
Tolerance on relative gap, | ub - lb|/|ub | , to determine whether
optimality has been reached for a MIP instance (default 1e-04).
mip:return_gap (return_mipgap)
Whether to return mipgap suffixes or include mipgap values (|objectve -
.bestbound|) in the solve_message: sum of
Expand Down Expand Up @@ -557,10 +559,17 @@ tech:wantsol (wantsol)
tech:writegraph (cvt:writegraph, writegraph, exportgraph)
File to export conversion graph. Format: JSON Lines.
tech:writemodel (writeprob, writemodel, tech:exportfile)
tech:writemodel (tech:writeprob, writeprob, writemodel, tech:exportfile)
Specifies files where to export the model before solving (repeat the
option for several files.) File name extensions can be ".lp[.7z]",
".mps", etc.
To write a model during iterative solve (e.g., with obj:multi=2), use
tech:writemodel:index.
tech:writemodel:index (tech:writeprob:index, writeprobindex, writemodelindex)
During iterative solve (e.g., with obj:multi=2), the iteration before
which to write solver model. 0 means before iteration is initialized;
positive value - before solving that iteration. Default 0.
tech:writemodelonly (justwriteprob, justwritemodel)
Specifies files where to export the model, no solving (option can be
Expand Down
Loading

0 comments on commit a7bf737

Please sign in to comment.