SCIP++ refs/heads/main
 
Loading...
Searching...
No Matches
scippp::params::CONSTRAINTS::NONLINEAR Namespace Reference

Parameters with prefix constraints/nonlinear. More...

Namespaces

namespace  BRANCHING
 Parameters with prefix constraints/nonlinear/branching.
 
namespace  UPGRADE
 Parameters with prefix constraints/nonlinear/upgrade.
 

Variables

constexpr Param< bool > ASSUMECONVEX { "constraints/nonlinear/assumeconvex" }
 whether to assume that any constraint is convex
 
constexpr Param< int > BILINMAXNAUXEXPRS { "constraints/nonlinear/bilinmaxnauxexprs" }
 maximal number of auxiliary expressions per bilinear term
 
constexpr Param< char > CHECKVARLOCKS { "constraints/nonlinear/checkvarlocks" }
 whether variables contained in a single constraint should be forced to be at their lower or upper bounds ('d'isable, change 't'ype, add 'b'ound disjunction)
 
constexpr Param< double > CONSSIDERELAXAMOUNT { "constraints/nonlinear/conssiderelaxamount" }
 by how much to relax constraint sides during bound tightening
 
constexpr Param< bool > DELAYPROP { "constraints/nonlinear/delayprop" }
 should propagation method be delayed, if other propagators found reductions?
 
constexpr Param< bool > DELAYSEPA { "constraints/nonlinear/delaysepa" }
 should separation method be delayed, if other separators found cuts?
 
constexpr Param< int > EAGERFREQ { "constraints/nonlinear/eagerfreq" }
 frequency for using all instead of only the useful constraints in separation, propagation and enforcement (-1: never, 0: only in first evaluation)
 
constexpr Param< double > ENFOAUXVIOLFACTOR { "constraints/nonlinear/enfoauxviolfactor" }
 an expression will be enforced if the "auxiliary" violation is at least this factor times the "original" violation
 
constexpr Param< bool > FORBIDMULTAGGRNLVAR { "constraints/nonlinear/forbidmultaggrnlvar" }
 whether to forbid multiaggregation of nonlinear variables
 
constexpr Param< bool > FORCESTRONGCUT { "constraints/nonlinear/forcestrongcut" }
 whether to force "strong" cuts in enforcement
 
constexpr Param< char > LINEARIZEHEURSOL { "constraints/nonlinear/linearizeheursol" }
 whether tight linearizations of nonlinear constraints should be added to cutpool when some heuristics finds a new solution ('o'ff, on new 'i'ncumbents, on 'e'very solution)
 
constexpr Param< int > MAXPREROUNDS { "constraints/nonlinear/maxprerounds" }
 maximal number of presolving rounds the constraint handler participates in (-1: no limit)
 
constexpr Param< int > MAXPROPROUNDS { "constraints/nonlinear/maxproprounds" }
 limit on number of propagation rounds for a set of constraints within one round of SCIP propagation
 
constexpr Param< int > PRESOLTIMING { "constraints/nonlinear/presoltiming" }
 timing mask of the constraint handler's presolving method (4:FAST, 8:MEDIUM, 16:EXHAUSTIVE, 32:FINAL)
 
constexpr Param< bool > PROPAUXVARS { "constraints/nonlinear/propauxvars" }
 whether to check bounds of all auxiliary variable to seed reverse propagation
 
constexpr Param< int > PROPFREQ { "constraints/nonlinear/propfreq" }
 frequency for propagating domains (-1: never, 0: only in root node)
 
constexpr Param< bool > PROPINENFORCE { "constraints/nonlinear/propinenforce" }
 whether to (re)run propagation in enforcement
 
constexpr Param< int > PROPTIMING { "constraints/nonlinear/proptiming" }
 timing when constraint propagation should be called (1:BEFORELP, 2:DURINGLPLOOP, 4:AFTERLPLOOP, 15:ALWAYS)
 
constexpr Param< bool > REFORMBINPRODS { "constraints/nonlinear/reformbinprods" }
 whether to reformulate products of binary variables during presolving
 
constexpr Param< bool > REFORMBINPRODSAND { "constraints/nonlinear/reformbinprodsand" }
 whether to use the AND constraint handler for reformulating binary products
 
constexpr Param< int > REFORMBINPRODSFAC { "constraints/nonlinear/reformbinprodsfac" }
 minimum number of terms to reformulate bilinear binary products by factorizing variables (<= 1: disabled)
 
constexpr Param< char > ROWNOTREMOVABLE { "constraints/nonlinear/rownotremovable" }
 whether to make rows to be non-removable in the node where they are added (can prevent some cycling): 'o'ff, in 'e'nforcement only, 'a'lways
 
constexpr Param< int > SEPAFREQ { "constraints/nonlinear/sepafreq" }
 frequency for separating cuts (-1: never, 0: only in root node)
 
constexpr Param< bool > STRONGCUTEFFICACY { "constraints/nonlinear/strongcutefficacy" }
 consider efficacy requirement when deciding whether a cut is "strong"
 
constexpr Param< double > STRONGCUTMAXCOEF { "constraints/nonlinear/strongcutmaxcoef" }
 "strong" cuts will be scaled to have their maximal coef in [1/strongcutmaxcoef,strongcutmaxcoef]
 
constexpr Param< bool > TIGHTENLPFEASTOL { "constraints/nonlinear/tightenlpfeastol" }
 whether to tighten LP feasibility tolerance during enforcement, if it seems useful
 
constexpr Param< char > VARBOUNDRELAX { "constraints/nonlinear/varboundrelax" }
 strategy on how to relax variable bounds during bound tightening: relax (n)ot, relax by (a)bsolute value, relax always by a(b)solute value, relax by (r)relative value
 
constexpr Param< double > VARBOUNDRELAXAMOUNT { "constraints/nonlinear/varboundrelaxamount" }
 by how much to relax variable bounds during bound tightening if strategy 'a', 'b', or 'r'
 
constexpr Param< char > VIOLSCALE { "constraints/nonlinear/violscale" }
 method how to scale violations to make them comparable (not used for feasibility check): (n)one, (a)ctivity and side, norm of (g)radient
 
constexpr Param< double > VPADJFACETTHRESH { "constraints/nonlinear/vpadjfacetthresh" }
 adjust computed facet of envelope of vertex-polyhedral function up to a violation of this value times LP feasibility tolerance
 
constexpr Param< bool > VPDUALSIMPLEX { "constraints/nonlinear/vpdualsimplex" }
 whether to use dual simplex instead of primal simplex for LP that computes facet of vertex-polyhedral function
 
constexpr Param< double > VPMAXPERTURB { "constraints/nonlinear/vpmaxperturb" }
 maximal relative perturbation of reference point when computing facet of envelope of vertex-polyhedral function (dim>2)
 
constexpr Param< double > WEAKCUTMINVIOLFACTOR { "constraints/nonlinear/weakcutminviolfactor" }
 retry enfo of constraint with weak cuts if violation is least this factor of maximal violated constraints
 
constexpr Param< double > WEAKCUTTHRESHOLD { "constraints/nonlinear/weakcutthreshold" }
 threshold for when to regard a cut from an estimator as weak (lower values allow more weak cuts)
 

Detailed Description

Parameters with prefix constraints/nonlinear.

Variable Documentation

◆ ASSUMECONVEX

constexpr Param<bool> scippp::params::CONSTRAINTS::NONLINEAR::ASSUMECONVEX { "constraints/nonlinear/assumeconvex" }
constexpr

whether to assume that any constraint is convex

Definition at line 1485 of file parameters.hpp.

◆ BILINMAXNAUXEXPRS

constexpr Param<int> scippp::params::CONSTRAINTS::NONLINEAR::BILINMAXNAUXEXPRS { "constraints/nonlinear/bilinmaxnauxexprs" }
constexpr

maximal number of auxiliary expressions per bilinear term

Definition at line 1446 of file parameters.hpp.

◆ CHECKVARLOCKS

constexpr Param<char> scippp::params::CONSTRAINTS::NONLINEAR::CHECKVARLOCKS { "constraints/nonlinear/checkvarlocks" }
constexpr

whether variables contained in a single constraint should be forced to be at their lower or upper bounds ('d'isable, change 't'ype, add 'b'ound disjunction)

Definition at line 1480 of file parameters.hpp.

◆ CONSSIDERELAXAMOUNT

constexpr Param<double> scippp::params::CONSTRAINTS::NONLINEAR::CONSSIDERELAXAMOUNT { "constraints/nonlinear/conssiderelaxamount" }
constexpr

by how much to relax constraint sides during bound tightening

Definition at line 1436 of file parameters.hpp.

◆ DELAYPROP

constexpr Param<bool> scippp::params::CONSTRAINTS::NONLINEAR::DELAYPROP { "constraints/nonlinear/delayprop" }
constexpr

should propagation method be delayed, if other propagators found reductions?

Definition at line 1423 of file parameters.hpp.

◆ DELAYSEPA

constexpr Param<bool> scippp::params::CONSTRAINTS::NONLINEAR::DELAYSEPA { "constraints/nonlinear/delaysepa" }
constexpr

should separation method be delayed, if other separators found cuts?

Definition at line 1421 of file parameters.hpp.

◆ EAGERFREQ

constexpr Param<int> scippp::params::CONSTRAINTS::NONLINEAR::EAGERFREQ { "constraints/nonlinear/eagerfreq" }
constexpr

frequency for using all instead of only the useful constraints in separation, propagation and enforcement (-1: never, 0: only in first evaluation)

Definition at line 1417 of file parameters.hpp.

◆ ENFOAUXVIOLFACTOR

constexpr Param<double> scippp::params::CONSTRAINTS::NONLINEAR::ENFOAUXVIOLFACTOR { "constraints/nonlinear/enfoauxviolfactor" }
constexpr

an expression will be enforced if the "auxiliary" violation is at least this factor times the "original" violation

Definition at line 1469 of file parameters.hpp.

◆ FORBIDMULTAGGRNLVAR

constexpr Param<bool> scippp::params::CONSTRAINTS::NONLINEAR::FORBIDMULTAGGRNLVAR { "constraints/nonlinear/forbidmultaggrnlvar" }
constexpr

whether to forbid multiaggregation of nonlinear variables

Definition at line 1454 of file parameters.hpp.

◆ FORCESTRONGCUT

constexpr Param<bool> scippp::params::CONSTRAINTS::NONLINEAR::FORCESTRONGCUT { "constraints/nonlinear/forcestrongcut" }
constexpr

whether to force "strong" cuts in enforcement

Definition at line 1466 of file parameters.hpp.

◆ LINEARIZEHEURSOL

constexpr Param<char> scippp::params::CONSTRAINTS::NONLINEAR::LINEARIZEHEURSOL { "constraints/nonlinear/linearizeheursol" }
constexpr

whether tight linearizations of nonlinear constraints should be added to cutpool when some heuristics finds a new solution ('o'ff, on new 'i'ncumbents, on 'e'very solution)

Definition at line 1483 of file parameters.hpp.

◆ MAXPREROUNDS

constexpr Param<int> scippp::params::CONSTRAINTS::NONLINEAR::MAXPREROUNDS { "constraints/nonlinear/maxprerounds" }
constexpr

maximal number of presolving rounds the constraint handler participates in (-1: no limit)

Definition at line 1419 of file parameters.hpp.

◆ MAXPROPROUNDS

constexpr Param<int> scippp::params::CONSTRAINTS::NONLINEAR::MAXPROPROUNDS { "constraints/nonlinear/maxproprounds" }
constexpr

limit on number of propagation rounds for a set of constraints within one round of SCIP propagation

Definition at line 1427 of file parameters.hpp.

◆ PRESOLTIMING

constexpr Param<int> scippp::params::CONSTRAINTS::NONLINEAR::PRESOLTIMING { "constraints/nonlinear/presoltiming" }
constexpr

timing mask of the constraint handler's presolving method (4:FAST, 8:MEDIUM, 16:EXHAUSTIVE, 32:FINAL)

Definition at line 1425 of file parameters.hpp.

◆ PROPAUXVARS

constexpr Param<bool> scippp::params::CONSTRAINTS::NONLINEAR::PROPAUXVARS { "constraints/nonlinear/propauxvars" }
constexpr

whether to check bounds of all auxiliary variable to seed reverse propagation

Definition at line 1429 of file parameters.hpp.

◆ PROPFREQ

constexpr Param<int> scippp::params::CONSTRAINTS::NONLINEAR::PROPFREQ { "constraints/nonlinear/propfreq" }
constexpr

frequency for propagating domains (-1: never, 0: only in root node)

Definition at line 1412 of file parameters.hpp.

◆ PROPINENFORCE

constexpr Param<bool> scippp::params::CONSTRAINTS::NONLINEAR::PROPINENFORCE { "constraints/nonlinear/propinenforce" }
constexpr

whether to (re)run propagation in enforcement

Definition at line 1458 of file parameters.hpp.

◆ PROPTIMING

constexpr Param<int> scippp::params::CONSTRAINTS::NONLINEAR::PROPTIMING { "constraints/nonlinear/proptiming" }
constexpr

timing when constraint propagation should be called (1:BEFORELP, 2:DURINGLPLOOP, 4:AFTERLPLOOP, 15:ALWAYS)

Definition at line 1414 of file parameters.hpp.

◆ REFORMBINPRODS

constexpr Param<bool> scippp::params::CONSTRAINTS::NONLINEAR::REFORMBINPRODS { "constraints/nonlinear/reformbinprods" }
constexpr

whether to reformulate products of binary variables during presolving

Definition at line 1448 of file parameters.hpp.

◆ REFORMBINPRODSAND

constexpr Param<bool> scippp::params::CONSTRAINTS::NONLINEAR::REFORMBINPRODSAND { "constraints/nonlinear/reformbinprodsand" }
constexpr

whether to use the AND constraint handler for reformulating binary products

Definition at line 1450 of file parameters.hpp.

◆ REFORMBINPRODSFAC

constexpr Param<int> scippp::params::CONSTRAINTS::NONLINEAR::REFORMBINPRODSFAC { "constraints/nonlinear/reformbinprodsfac" }
constexpr

minimum number of terms to reformulate bilinear binary products by factorizing variables (<= 1: disabled)

Definition at line 1452 of file parameters.hpp.

◆ ROWNOTREMOVABLE

constexpr Param<char> scippp::params::CONSTRAINTS::NONLINEAR::ROWNOTREMOVABLE { "constraints/nonlinear/rownotremovable" }
constexpr

whether to make rows to be non-removable in the node where they are added (can prevent some cycling): 'o'ff, in 'e'nforcement only, 'a'lways

Definition at line 1474 of file parameters.hpp.

◆ SEPAFREQ

constexpr Param<int> scippp::params::CONSTRAINTS::NONLINEAR::SEPAFREQ { "constraints/nonlinear/sepafreq" }
constexpr

frequency for separating cuts (-1: never, 0: only in root node)

Definition at line 1410 of file parameters.hpp.

◆ STRONGCUTEFFICACY

constexpr Param<bool> scippp::params::CONSTRAINTS::NONLINEAR::STRONGCUTEFFICACY { "constraints/nonlinear/strongcutefficacy" }
constexpr

consider efficacy requirement when deciding whether a cut is "strong"

Definition at line 1464 of file parameters.hpp.

◆ STRONGCUTMAXCOEF

constexpr Param<double> scippp::params::CONSTRAINTS::NONLINEAR::STRONGCUTMAXCOEF { "constraints/nonlinear/strongcutmaxcoef" }
constexpr

"strong" cuts will be scaled to have their maximal coef in [1/strongcutmaxcoef,strongcutmaxcoef]

Definition at line 1462 of file parameters.hpp.

◆ TIGHTENLPFEASTOL

constexpr Param<bool> scippp::params::CONSTRAINTS::NONLINEAR::TIGHTENLPFEASTOL { "constraints/nonlinear/tightenlpfeastol" }
constexpr

whether to tighten LP feasibility tolerance during enforcement, if it seems useful

Definition at line 1456 of file parameters.hpp.

◆ VARBOUNDRELAX

constexpr Param<char> scippp::params::CONSTRAINTS::NONLINEAR::VARBOUNDRELAX { "constraints/nonlinear/varboundrelax" }
constexpr

strategy on how to relax variable bounds during bound tightening: relax (n)ot, relax by (a)bsolute value, relax always by a(b)solute value, relax by (r)relative value

Definition at line 1432 of file parameters.hpp.

◆ VARBOUNDRELAXAMOUNT

constexpr Param<double> scippp::params::CONSTRAINTS::NONLINEAR::VARBOUNDRELAXAMOUNT { "constraints/nonlinear/varboundrelaxamount" }
constexpr

by how much to relax variable bounds during bound tightening if strategy 'a', 'b', or 'r'

Definition at line 1434 of file parameters.hpp.

◆ VIOLSCALE

constexpr Param<char> scippp::params::CONSTRAINTS::NONLINEAR::VIOLSCALE { "constraints/nonlinear/violscale" }
constexpr

method how to scale violations to make them comparable (not used for feasibility check): (n)one, (a)ctivity and side, norm of (g)radient

Definition at line 1477 of file parameters.hpp.

◆ VPADJFACETTHRESH

constexpr Param<double> scippp::params::CONSTRAINTS::NONLINEAR::VPADJFACETTHRESH { "constraints/nonlinear/vpadjfacetthresh" }
constexpr

adjust computed facet of envelope of vertex-polyhedral function up to a violation of this value times LP feasibility tolerance

Definition at line 1442 of file parameters.hpp.

◆ VPDUALSIMPLEX

constexpr Param<bool> scippp::params::CONSTRAINTS::NONLINEAR::VPDUALSIMPLEX { "constraints/nonlinear/vpdualsimplex" }
constexpr

whether to use dual simplex instead of primal simplex for LP that computes facet of vertex-polyhedral function

Definition at line 1444 of file parameters.hpp.

◆ VPMAXPERTURB

constexpr Param<double> scippp::params::CONSTRAINTS::NONLINEAR::VPMAXPERTURB { "constraints/nonlinear/vpmaxperturb" }
constexpr

maximal relative perturbation of reference point when computing facet of envelope of vertex-polyhedral function (dim>2)

Definition at line 1439 of file parameters.hpp.

◆ WEAKCUTMINVIOLFACTOR

constexpr Param<double> scippp::params::CONSTRAINTS::NONLINEAR::WEAKCUTMINVIOLFACTOR { "constraints/nonlinear/weakcutminviolfactor" }
constexpr

retry enfo of constraint with weak cuts if violation is least this factor of maximal violated constraints

Definition at line 1471 of file parameters.hpp.

◆ WEAKCUTTHRESHOLD

constexpr Param<double> scippp::params::CONSTRAINTS::NONLINEAR::WEAKCUTTHRESHOLD { "constraints/nonlinear/weakcutthreshold" }
constexpr

threshold for when to regard a cut from an estimator as weak (lower values allow more weak cuts)

Definition at line 1460 of file parameters.hpp.