GOBNILP
f164d83
|
Function declarations for circuit_cuts.c. More...
#include "scip/scip.h"
#include "stack.h"
#include "vector.h"
#include "vectorlist.h"
#include "parent_set_data.h"
Go to the source code of this file.
Data Structures | |
struct | CircuitCutsStorage |
A collection of storage items that can be allocated just once per constraint to save time. More... | |
Functions | |
SCIP_RETCODE | CC_addParams (SCIP *scip) |
Adds parameters to those recognised by SCIP. More... | |
SCIP_RETCODE | CC_finalise (SCIP *scip, CircuitCutsStorage *ccs, int n) |
Frees all memory allocated by CC_initialise . More... | |
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. More... | |
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. More... | |
Function declarations for circuit_cuts.c.
SCIP_RETCODE CC_addParams | ( | SCIP * | scip | ) |
Adds parameters to those recognised by SCIP.
scip | The SCIP instance to add parameters to. |
scip | SCIP data structure |
References UT_addBoolParam().
SCIP_RETCODE CC_finalise | ( | SCIP * | scip, |
CircuitCutsStorage * | ccs, | ||
int | n | ||
) |
Frees all memory allocated by CC_initialise
.
scip | SCIP data structure |
ccs | Circuit storage to free |
n | Number of DAG nodes |
References StackDelete(), VectorDelete(), and VectorListDelete().
Referenced by SCIP_DECL_CONSDELETE().
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.
scip | The SCIP instance the cuts are to be found for. |
conshdlr | The constraint handler responsible for the cuts. |
sol | The current relaxed solution. |
nGen | The number of cuts that were added. |
forcecuts | Whether to force cuts to be added |
found_efficacious_ptr | A pointer to return whether any efficacious cuts were found. |
References CircuitCutsStorage::add_cluster_cuts, CircuitCutsStorage::add_cluster_cuts_to_pool, CircuitCutsStorage::add_cycle_cuts, CircuitCutsStorage::add_cycle_cuts_to_pool, CircuitCutsStorage::add_fractional_cuts, addCuts(), circuit(), findStronglyConnectedComponents(), Vector::items, VectorList::items, CircuitCutsStorage::max_cycle_length, CircuitCutsStorage::max_cycles, ParentSetData::n, ParentSetData::nParents, ParentSetData::nParentSets, ParentSetData::ParentSets, ParentSetData::PaVars, Vector::size, VectorList::size, VectorClear(), and VectorListClear().
Referenced by DagClusterSeparate().
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.
scip | The SCIP instance the separation is to take place in. |
data | The problem data that the separation will occur on. |
References CircuitCutsStorage::add_cluster_cuts, CircuitCutsStorage::add_cluster_cuts_to_pool, CircuitCutsStorage::add_cycle_cuts, CircuitCutsStorage::add_cycle_cuts_to_pool, CircuitCutsStorage::add_fractional_cuts, CircuitCutsStorage::max_cycle_length, and CircuitCutsStorage::max_cycles.
Referenced by createConsData().