type_sepa.h
Go to the documentation of this file.
27 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
78 /** solving process initialization method of separator (called when branch and bound process is about to begin)
80 * This method is called when the presolving was finished and the branch and bound process is about to begin.
89 /** solving process deinitialization method of separator (called before branch and bound process data is freed)
102 * Searches for cutting planes that separate the current LP solution. The method is called in the LP solving loop,
112 * @note The depth argument shouldn't be use to determine whether the cut is globally valid or not. The value of depth
113 * could be 0 even though we are not in the root node! The purpose of depth is to control the behavior of the
114 * separator. Usually separators will have different limits on the number of cuts to be applied in the root node, etc.
115 * These limits should be checked against depth and not against the actual depth of the current node.
117 * possible return values for *result (if more than one applies, the first in the list should be used):
122 * - SCIP_NEWROUND : a cutting plane was generated and a new separation round should immediately start
123 * - SCIP_DIDNOTFIND : the separator searched, but did not find domain reductions, cutting planes, or cut constraints
127 #define SCIP_DECL_SEPAEXECLP(x) SCIP_RETCODE x (SCIP* scip, SCIP_SEPA* sepa, SCIP_RESULT* result, SCIP_Bool allowlocal, int depth)
131 * Searches for cutting planes that separate the given primal solution. The method is called outside the LP solution
132 * loop (e.g., by a relaxator or a primal heuristic), which means that there is no valid LP solution.
142 * @note The depth argument shouldn't be use to determine whether the cut is globally valid or not. The value of depth
143 * could be 0 even though we are not in the root node! The purpose of depth is to control the behavior of the
144 * separator. Usually separators will have different limits on the number of cuts to be applied in the root node, etc.
145 * These limits should be checked against depth and not against the actual depth of the current node.
147 * possible return values for *result (if more than one applies, the first in the list should be used):
152 * - SCIP_NEWROUND : a cutting plane was generated and a new separation round should immediately start
153 * - SCIP_DIDNOTFIND : the separator searched, but did not find domain reductions, cutting planes, or cut constraints
157 #define SCIP_DECL_SEPAEXECSOL(x) SCIP_RETCODE x (SCIP* scip, SCIP_SEPA* sepa, SCIP_SOL* sol, SCIP_RESULT* result, SCIP_Bool allowlocal, int depth)
type definitions for return codes for SCIP methods
Definition: struct_sepa.h:37
type definitions for SCIP's main datastructure
type definitions for storing primal CIP solutions
result codes for SCIP callback methods
common defines and data types used in all packages of SCIP