Google OR-Tools v9.11
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
operations_research::GScipConstraintHandlerProperties Struct Reference

#include <gscip_constraint_handler.h>

Public Attributes

std::string name
 
std::string description
 
int enforcement_priority = -1
 
int feasibility_check_priority = -1
 
int separation_priority = 3000000
 
int separation_frequency = 1
 
bool delay_separation = false
 
int eager_frequency = 100
 
bool needs_constraints = true
 

Detailed Description

Properties for the constraint handler. It is recommended to set priorities and frequencies manually.

Definition at line 39 of file gscip_constraint_handler.h.

Member Data Documentation

◆ delay_separation

bool operations_research::GScipConstraintHandlerProperties::delay_separation = false

Determines if this separator be delayed if another separator has already found a cut. See CONSHDLR_DELAYSEPA in the SCIP documentation above.

Definition at line 90 of file gscip_constraint_handler.h.

◆ description

std::string operations_research::GScipConstraintHandlerProperties::description

Description of the constraint handler. See CONSHDLR_DESC in SCIP documentation above.

Definition at line 64 of file gscip_constraint_handler.h.

◆ eager_frequency

int operations_research::GScipConstraintHandlerProperties::eager_frequency = 100

Frequency for using all instead of only the useful constraints in separation, propagation, and enforcement. For example, some constraints may be aged out by SCIP if they are not relevant for several iterations. See CONSHDLR_EAGERFREQ in SCIP documentation above.

Definition at line 96 of file gscip_constraint_handler.h.

◆ enforcement_priority

int operations_research::GScipConstraintHandlerProperties::enforcement_priority = -1

Determines the order this constraint class is checked at each LP node. If negative, the enforcement is only performed on integer solutions. See CONSHDLR_ENFOPRIORITY in the SCIP documentation above. Only relevant if enforcement callbacks are implemented.

Definition at line 70 of file gscip_constraint_handler.h.

◆ feasibility_check_priority

int operations_research::GScipConstraintHandlerProperties::feasibility_check_priority = -1

Determines the order this constraint class runs in when testing solution feasibility. If negative, the feasibility check is only performed on integer solutions. See CONSHDLR_CHECKPRIORITY in the SCIP documentation above. Only relevant if check callback is implemented.

Definition at line 76 of file gscip_constraint_handler.h.

◆ name

std::string operations_research::GScipConstraintHandlerProperties::name

For members below, the corresponding SCIP constraint handler property name is provided. See https://www.scipopt.org/doc/html/CONS.php#CONS_PROPERTIES for details.

While it is recommended to set your own parameters, we provide a default set of parameters that has the following behavior:

  • Enforcement and feasibility checking is done right after enforcing integrality, but before any other constraint handlers. This implies that it is only performed on integer solutions by default.
  • Obsolete constraints are revisited every 100 nodes (eager frequency). This default follows the most common frequency in SCIP's existing constraint handlers.
  • If separation is used, it is run before all constraint handlers and at every node. Note however that all separators are always run before any constraint handler separation. A user may control separation frequency either by changing this parameter or implementing a check in the callback. Name of the constraint handler. See CONSHDLR_NAME in SCIP documentation above.

Definition at line 60 of file gscip_constraint_handler.h.

◆ needs_constraints

bool operations_research::GScipConstraintHandlerProperties::needs_constraints = true

Indicates whether the constraint handler can be skipped if no constraints from this handler are present in the model. In most cases, this should be true. This should only be false for constraints that are not added explicitly as a constraint, such as integrality. See CONSHDLR_NEEDSCONS in SCIP documentation above.

Definition at line 103 of file gscip_constraint_handler.h.

◆ separation_frequency

int operations_research::GScipConstraintHandlerProperties::separation_frequency = 1

Frequency for separating cuts. See CONSHDLR_SEPAFREQ in the SCIP documentation above. Only relevant if separation callbacks are implemented.

Definition at line 86 of file gscip_constraint_handler.h.

◆ separation_priority

int operations_research::GScipConstraintHandlerProperties::separation_priority = 3000000

Determines the order the separation from this constraint handler runs in the cut loop. Note that separators are run before constraint handlers. See CONSHDLR_SEPAPRIORITY in SCIP documentation above. Only relevant if separation callbacks are implemented.

Definition at line 82 of file gscip_constraint_handler.h.


The documentation for this struct was generated from the following file: