Google OR-Tools v9.11
a fast and portable software suite for combinatorial optimization
|
#include <gscip_constraint_handler.h>
Public Member Functions | |
UntypedGScipConstraintHandlerImpl (GScipConstraintHandler< ConstraintData > *constraint_handler) | |
absl::StatusOr< GScipCallbackResult > | EnforceLp (GScipConstraintHandlerContext context, void *const &constraint_data, bool solution_infeasible) override |
Default callback implementations. | |
absl::StatusOr< GScipCallbackResult > | EnforcePseudoSolution (GScipConstraintHandlerContext context, void *const &constraint_data, bool solution_infeasible, bool objective_infeasible) override |
absl::StatusOr< bool > | CheckIsFeasible (GScipConstraintHandlerContext context, void *const &constraint_data, bool check_integrality, bool check_lp_rows, bool print_reason, bool completely) override |
std::vector< std::pair< SCIP_VAR *, RoundingLockDirection > > | RoundingLock (GScip *gscip, void *const &constraint_data, bool lock_type_is_model) override |
absl::StatusOr< GScipCallbackResult > | SeparateLp (GScipConstraintHandlerContext context, void *const &constraint_data) override |
absl::StatusOr< GScipCallbackResult > | SeparateSolution (GScipConstraintHandlerContext context, void *const &constraint_data) override |
Public Member Functions inherited from operations_research::internal::UntypedGScipConstraintHandler | |
UntypedGScipConstraintHandler (const GScipConstraintHandlerProperties &properties) | |
Public Member Functions inherited from operations_research::GScipConstraintHandler< void * > | |
GScipConstraintHandler (const GScipConstraintHandlerProperties &properties) | |
virtual | ~GScipConstraintHandler ()=default |
const GScipConstraintHandlerProperties & | properties () const |
absl::Status | Register (GScip *gscip) |
Template implementations. | |
absl::StatusOr< SCIP_CONS * > | AddCallbackConstraint (GScip *gscip, const std::string &constraint_name, const void **constraint_data, const GScipConstraintOptions &options=DefaultGScipConstraintOptions()) |
GScipCallbackResult | CallEnforceLp (GScipConstraintHandlerContext context, const void *&constraint_data, bool solution_infeasible) |
The functions below wrap each callback function to manage status. | |
GScipCallbackResult | CallEnforcePseudoSolution (GScipConstraintHandlerContext context, const void *&constraint_data, bool solution_infeasible, bool objective_infeasible) |
GScipCallbackResult | CallCheckIsFeasible (GScipConstraintHandlerContext context, const void *&constraint_data, bool check_integrality, bool check_lp_rows, bool print_reason, bool check_completely) |
GScipCallbackResult | CallSeparateLp (GScipConstraintHandlerContext context, const void *&constraint_data) |
GScipCallbackResult | CallSeparateSolution (GScipConstraintHandlerContext context, const void *&constraint_data) |
Definition at line 504 of file gscip_constraint_handler.h.
|
inlineexplicit |
Definition at line 506 of file gscip_constraint_handler.h.
|
inlineoverridevirtual |
Callback function called at SCIP's CONSCHECK. Must return true if the current solution stored in the context satisfies all constraints of the constraint handler, or false otherwise. If properties_.feasibility_check_priority < 0, then this only acts on integer solutions.
SCIP CONSCHECK callback arguments:
Reimplemented from operations_research::GScipConstraintHandler< void * >.
Definition at line 527 of file gscip_constraint_handler.h.
|
inlineoverridevirtual |
Default callback implementations.
Callback function called at SCIP's CONSENFOLP. Must check if an LP solution at a node is feasible, and if not, resolve the infeasibility if possible by branching, reducing variable domains, or separating the solution with a cutting plane. If properties_.enforcement_priority < 0, then this only acts on integer solutions.
SCIP CONSENFOLP callback arguments:
It is the user's responsibility to return a valid result for CONSENFOLP; see SCIP's documentation (e.g. type_cons.h).
Reimplemented from operations_research::GScipConstraintHandler< void * >.
Definition at line 511 of file gscip_constraint_handler.h.
|
inlineoverridevirtual |
Callback function called at SCIP's CONSENFOPS. Must check if a pseudosolution is feasible, and if not, resolve the infeasibility if possible by branching, reducing variable domains, or adding an additional constraint. Separating with a cutting plane is not possible since there is no corresponding LP (i.e. kSeparated cannot be returned). If properties_.enforcement_priority < 0, then this only acts on integer solutions.
SCIP CONSENFOPS callback arguments:
It is the user's responsibility to return a valid result for CONSENFOPS; see SCIP's documentation (e.g. type_cons.h).
Reimplemented from operations_research::GScipConstraintHandler< void * >.
Definition at line 519 of file gscip_constraint_handler.h.
|
inlineoverridevirtual |
Callback function called at SCIP's CONSLOCK. Must return, for each variable, whether the constraint may be violated by decreasing and/or increasing the variable value. It is always safe to claim that both directions can violate the constraint, which is the default implementation, but it may affect SCIP's capabilities.
SCIP CONSLOCK callback arguments:
It is the user's responsibility to return a valid result for CONSLOCK; see SCIP's documentation (e.g. type_cons.h).
Reimplemented from operations_research::GScipConstraintHandler< void * >.
Definition at line 537 of file gscip_constraint_handler.h.
|
inlineoverridevirtual |
Callback function called at SCIP's CONSSEPALP. Separates all constraints of the constraint handler for LP solutions.
It is the user's responsibility to return a valid result for CONSSEPALP; see SCIP's documentation (e.g. type_cons.h).
Reimplemented from operations_research::GScipConstraintHandler< void * >.
Definition at line 545 of file gscip_constraint_handler.h.
|
inlineoverridevirtual |
Callback function called at SCIP's CONSSEPASOL. Separates all constraints of the constraint handler for solutions that do not come from LP (e.g. relaxators and primal heuristics).
It is the user's responsibility to return a valid result for CONSSEPASOL; see SCIP's documentation (e.g. type_cons.h).
Reimplemented from operations_research::GScipConstraintHandler< void * >.
Definition at line 552 of file gscip_constraint_handler.h.