32 #ifndef __SCIP_CIRCUIT_CUTS_H__ 33 #define __SCIP_CIRCUIT_CUTS_H__ 35 #include "scip/scip.h" 44 SCIP_Real** adj_matrix;
52 SCIP_VAR** included_cluster;
53 SCIP_VAR** excluded_cluster;
54 SCIP_VAR** included_cycle;
55 SCIP_VAR** excluded_cycle;
69 extern SCIP_RETCODE
CC_findCuts(SCIP* scip, SCIP_CONSHDLR* conshdlr,
ParentSetData* psd, SCIP_SOL* sol,
CircuitCutsStorage* ccs,
int* nGen, SCIP_Bool forcecuts, SCIP_Bool* found_efficacious_ptr, SCIP_Bool* cutoff);
SCIP_Bool add_cycle_cuts_to_pool
Whether cycle cuts should be added to the cut pool.
Definition: circuit_cuts.h:61
SCIP_Bool add_fractional_cuts
Whether fractional circuits should be looked for.
Definition: circuit_cuts.h:57
Function and type declarations for parent_set_data.c.
Function declarations for vectorlist.c.
SCIP_RETCODE CC_addParams(SCIP *scip)
Adds parameters to those recognised by SCIP.
Definition: circuit_cuts.c:51
A list of lists of integer values.
Definition: vectorlist.h:39
A collection of storage items that can be allocated just once per constraint to save time...
Definition: circuit_cuts.h:42
int max_cycles
The maximum number of cycles to find.
Definition: circuit_cuts.h:56
SCIP_Bool add_cycle_cuts
Whether cycle cuts should be added.
Definition: circuit_cuts.h:59
The basic data needed to record a collection of parent sets associated with a problem.
Definition: parent_set_data.h:48
int max_cycle_length
The maximum length of cycle to look for.
Definition: circuit_cuts.h:62
A list of integer values.
Definition: vector.h:38
SCIP_Bool add_cluster_cuts
Whether cluster cuts should be added.
Definition: circuit_cuts.h:58
SCIP_RETCODE CC_findCuts(SCIP *scip, SCIP_CONSHDLR *conshdlr, ParentSetData *psd, SCIP_SOL *sol, CircuitCutsStorage *ccs, int *nGen, SCIP_Bool forcecuts, SCIP_Bool *found_efficacious_ptr, SCIP_Bool *cutoff)
Find cuts to rule out cycles in the current solution.
Definition: circuit_cuts.c:585
Function declarations for vector.c.
SCIP_RETCODE CC_initialise(SCIP *scip, CircuitCutsStorage *ccs, ParentSetData *data)
Sets up data structures once, to avoid creating them everytime the separation routine is called...
Definition: circuit_cuts.c:101
SCIP_RETCODE CC_finalise(SCIP *scip, CircuitCutsStorage *ccs, int n)
Frees all memory allocated by CC_initialise.
Definition: circuit_cuts.c:166
A stack of integer values.
Definition: stack.h:38
SCIP_Bool add_cluster_cuts_to_pool
Whether cluster cuts should be added to the cut pool.
Definition: circuit_cuts.h:60
Function declarations for stack.c.