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