Scippy

SCIP

Solving Constraint Integer Programs

sepa_strongcg.c File Reference

Detailed Description

Strong CG Cuts (Letchford & Lodi)

Author
Kati Wolter
Tobias Achterberg

Definition in file sepa_strongcg.c.

#include <assert.h>
#include <string.h>
#include "scip/sepa_strongcg.h"
#include "scip/pub_misc.h"

Go to the source code of this file.

Macros

#define SEPA_NAME   "strongcg"
 
#define SEPA_DESC   "Strong CG cuts separator (Letchford and Lodi)"
 
#define SEPA_PRIORITY   -2000
 
#define SEPA_FREQ   10
 
#define SEPA_MAXBOUNDDIST   1.0
 
#define SEPA_USESSUBSCIP   FALSE
 
#define SEPA_DELAY   FALSE
 
#define DEFAULT_MAXROUNDS   5
 
#define DEFAULT_MAXROUNDSROOT   20
 
#define DEFAULT_MAXSEPACUTS   20
 
#define DEFAULT_MAXSEPACUTSROOT   500
 
#define DEFAULT_DYNAMICCUTS   TRUE
 
#define DEFAULT_RANDSEED   54
 
#define SEPARATEROWS   /* separate rows with integral slack */
 
#define BOUNDSWITCH   0.9999
 
#define POSTPROCESS   TRUE
 
#define USEVBDS   TRUE
 
#define MINFRAC   0.05
 
#define MAXFRAC   0.95
 
#define MAXAGGRLEN(nvars)   (0.1*(nvars)+1000)
 

Functions

static SCIP_DECL_SEPACOPY (sepaCopyStrongcg)
 
static SCIP_DECL_SEPAFREE (sepaFreeStrongcg)
 
static SCIP_DECL_SEPAINIT (sepaInitStrongcg)
 
static SCIP_DECL_SEPAEXIT (sepaExitStrongcg)
 
static SCIP_DECL_SEPAEXECLP (sepaExeclpStrongcg)
 
SCIP_RETCODE SCIPincludeSepaStrongcg (SCIP *scip)
 

Macro Definition Documentation

◆ SEPA_NAME

#define SEPA_NAME   "strongcg"

◆ SEPA_DESC

#define SEPA_DESC   "Strong CG cuts separator (Letchford and Lodi)"

Definition at line 32 of file sepa_strongcg.c.

Referenced by SCIPincludeSepaStrongcg().

◆ SEPA_PRIORITY

#define SEPA_PRIORITY   -2000

Definition at line 33 of file sepa_strongcg.c.

Referenced by SCIPincludeSepaStrongcg().

◆ SEPA_FREQ

#define SEPA_FREQ   10

Definition at line 34 of file sepa_strongcg.c.

Referenced by SCIPincludeSepaStrongcg().

◆ SEPA_MAXBOUNDDIST

#define SEPA_MAXBOUNDDIST   1.0

Definition at line 35 of file sepa_strongcg.c.

Referenced by SCIPincludeSepaStrongcg().

◆ SEPA_USESSUBSCIP

#define SEPA_USESSUBSCIP   FALSE

does the separator use a secondary SCIP instance?

Definition at line 36 of file sepa_strongcg.c.

Referenced by SCIPincludeSepaStrongcg().

◆ SEPA_DELAY

#define SEPA_DELAY   FALSE

should separation method be delayed, if other separators found cuts?

Definition at line 37 of file sepa_strongcg.c.

Referenced by SCIPincludeSepaStrongcg().

◆ DEFAULT_MAXROUNDS

#define DEFAULT_MAXROUNDS   5

maximal number of strong CG separation rounds per node (-1: unlimited)

Definition at line 39 of file sepa_strongcg.c.

Referenced by SCIPincludeSepaStrongcg().

◆ DEFAULT_MAXROUNDSROOT

#define DEFAULT_MAXROUNDSROOT   20

maximal number of strong CG separation rounds in the root node (-1: unlimited)

Definition at line 40 of file sepa_strongcg.c.

Referenced by SCIPincludeSepaStrongcg().

◆ DEFAULT_MAXSEPACUTS

#define DEFAULT_MAXSEPACUTS   20

maximal number of strong CG cuts separated per separation round

Definition at line 41 of file sepa_strongcg.c.

Referenced by SCIPincludeSepaStrongcg().

◆ DEFAULT_MAXSEPACUTSROOT

#define DEFAULT_MAXSEPACUTSROOT   500

maximal number of strong CG cuts separated per separation round in root node

Definition at line 42 of file sepa_strongcg.c.

Referenced by SCIPincludeSepaStrongcg().

◆ DEFAULT_DYNAMICCUTS

#define DEFAULT_DYNAMICCUTS   TRUE

should generated cuts be removed from the LP if they are no longer tight?

Definition at line 43 of file sepa_strongcg.c.

Referenced by SCIPincludeSepaStrongcg().

◆ DEFAULT_RANDSEED

#define DEFAULT_RANDSEED   54

initial random seed

Definition at line 44 of file sepa_strongcg.c.

Referenced by SCIP_DECL_SEPAINIT().

◆ SEPARATEROWS

#define SEPARATEROWS   /* separate rows with integral slack */

Definition at line 46 of file sepa_strongcg.c.

◆ BOUNDSWITCH

#define BOUNDSWITCH   0.9999

Definition at line 48 of file sepa_strongcg.c.

Referenced by SCIP_DECL_SEPAEXECLP().

◆ POSTPROCESS

#define POSTPROCESS   TRUE

Definition at line 49 of file sepa_strongcg.c.

Referenced by SCIP_DECL_SEPAEXECLP().

◆ USEVBDS

#define USEVBDS   TRUE

Definition at line 50 of file sepa_strongcg.c.

Referenced by SCIP_DECL_SEPAEXECLP().

◆ MINFRAC

#define MINFRAC   0.05

Definition at line 51 of file sepa_strongcg.c.

Referenced by SCIP_DECL_SEPAEXECLP().

◆ MAXFRAC

#define MAXFRAC   0.95

Definition at line 52 of file sepa_strongcg.c.

Referenced by SCIP_DECL_SEPAEXECLP().

◆ MAXAGGRLEN

#define MAXAGGRLEN (   nvars)    (0.1*(nvars)+1000)

maximal length of base inequality

Definition at line 54 of file sepa_strongcg.c.

Referenced by SCIP_DECL_SEPAEXECLP().

Function Documentation

◆ SCIP_DECL_SEPACOPY()

static SCIP_DECL_SEPACOPY ( sepaCopyStrongcg  )
static

copy method for separator plugins (called when SCIP copies plugins)

Definition at line 75 of file sepa_strongcg.c.

References SCIP_CALL, SCIP_OKAY, SCIPincludeSepaStrongcg(), SCIPsepaGetName(), and SEPA_NAME.

◆ SCIP_DECL_SEPAFREE()

static SCIP_DECL_SEPAFREE ( sepaFreeStrongcg  )
static

destructor of separator to free user data (called when SCIP is exiting)

Definition at line 89 of file sepa_strongcg.c.

References SCIP_OKAY, SCIPfreeBlockMemory, SCIPsepaGetData(), SCIPsepaGetName(), SCIPsepaSetData(), and SEPA_NAME.

◆ SCIP_DECL_SEPAINIT()

static SCIP_DECL_SEPAINIT ( sepaInitStrongcg  )
static

initialization method of separator (called after problem was transformed)

Definition at line 108 of file sepa_strongcg.c.

References DEFAULT_RANDSEED, SCIP_CALL, SCIP_OKAY, SCIPcreateRandom(), and SCIPsepaGetData().

◆ SCIP_DECL_SEPAEXIT()

static SCIP_DECL_SEPAEXIT ( sepaExitStrongcg  )
static

deinitialization method of separator (called before transformed problem is freed)

Definition at line 123 of file sepa_strongcg.c.

References SCIP_OKAY, SCIPfreeRandom(), and SCIPsepaGetData().

◆ SCIP_DECL_SEPAEXECLP()

static SCIP_DECL_SEPAEXECLP ( sepaExeclpStrongcg  )
static