diff --git a/doc/source/modeling-expressions.rst b/doc/source/modeling-expressions.rst index 92c0af2cd..3b361b97b 100644 --- a/doc/source/modeling-expressions.rst +++ b/doc/source/modeling-expressions.rst @@ -642,11 +642,12 @@ these functions. Gurobi 12 defaults to proper nonlinear handling of these functions. Alternatively it allows their piecewise-linear approximation as part of preprocessing. Gurobi :ref:`option ` ``alg:global`` -(``pre:funcnonlinear``) can be used to apply piecewise-linear approximation: +(``pre:funcnonlinear``) can be used to apply piecewise-linear approximation, +after disabling expression trees: .. code-block:: ampl - ampl: option gurobi_options 'global=-1'; solve; + ampl: option gurobi_options 'global=-1 acc:_expr=0'; solve; For individual constraints and objectives, the choice of global solving vs piecewise-linear approximation can be performed via the ``.global`` suffix: diff --git a/doc/source/modeling-tools.rst b/doc/source/modeling-tools.rst index f1b7d56dd..bbc1089ee 100644 --- a/doc/source/modeling-tools.rst +++ b/doc/source/modeling-tools.rst @@ -51,7 +51,7 @@ Next subsection explains how a user can switch between flat constraints and formulas, if available, or force reformulation. -Reformulation options +Acceptance options ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Sometimes it is handy to disable all automatic reformulations, diff --git a/solvers/gurobi/gurobibackend.cc b/solvers/gurobi/gurobibackend.cc index af1a048db..80e70a488 100644 --- a/solvers/gurobi/gurobibackend.cc +++ b/solvers/gurobi/gurobibackend.cc @@ -2190,7 +2190,8 @@ void GurobiBackend::InitCustomOptions() { "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):\n" + "parameter and attribute; ATTENTION: also set acc:_expr=0 " + "with pre:funcnonlinear=-1 to use 'general constraints'):\n" "\n.. value-table::\n" "Suffix values mean the same.", storedOptions_.fFuncNonlinear_, values_funcnonlinear);