Scippy

GCG

Branch-and-Price & Column Generation for Everyone

Detailed Description

constraint handler for enforcing integrality of the transferred master solution in the original problem

Author
Gerald Gamrath Marcel Schmickerath

Definition in file cons_integralorig.c.

#include <assert.h>
#include <string.h>
#include "cons_integralorig.h"
#include "pricer_gcg.h"
#include "cons_masterbranch.h"
#include "pub_gcgvar.h"
#include "scip/struct_branch.h"
#include "relax_gcg.h"
#include "gcg.h"
#include "branch_orig.h"

Go to the source code of this file.

Data Structures

struct  SCIP_ConshdlrData
 

Macros

#define CONSHDLR_NAME   "integralorig"
 
#define CONSHDLR_DESC   "integrality constraint"
 
#define CONSHDLR_ENFOPRIORITY   1000
 
#define CONSHDLR_CHECKPRIORITY   1000
 
#define CONSHDLR_EAGERFREQ   -1
 
#define CONSHDLR_NEEDSCONS   FALSE
 

Functions

SCIP_RETCODE GCGconsIntegralorigAddBranchrule (SCIP *scip, SCIP_BRANCHRULE *branchrule)
 
static void sortBranchrules (SCIP_BRANCHRULE **branchrules, int nbranchrules)
 
static SCIP_DECL_CONSENFOLP (consEnfolpIntegralOrig)
 
static SCIP_DECL_CONSENFOPS (consEnfopsIntegralOrig)
 
static SCIP_DECL_CONSCHECK (consCheckIntegralOrig)
 
static SCIP_DECL_CONSLOCK (consLockIntegralOrig)
 
static SCIP_DECL_CONSFREE (consFreeIntegralOrig)
 
SCIP_RETCODE SCIPincludeConshdlrIntegralOrig (SCIP *scip)
 

Macro Definition Documentation

◆ CONSHDLR_NAME

#define CONSHDLR_NAME   "integralorig"

Definition at line 50 of file cons_integralorig.c.

◆ CONSHDLR_DESC

#define CONSHDLR_DESC   "integrality constraint"

Definition at line 51 of file cons_integralorig.c.

◆ CONSHDLR_ENFOPRIORITY

#define CONSHDLR_ENFOPRIORITY   1000

priority of the constraint handler for constraint enforcing

Definition at line 52 of file cons_integralorig.c.

◆ CONSHDLR_CHECKPRIORITY

#define CONSHDLR_CHECKPRIORITY   1000

priority of the constraint handler for checking feasibility

Definition at line 53 of file cons_integralorig.c.

◆ CONSHDLR_EAGERFREQ

#define CONSHDLR_EAGERFREQ   -1

frequency for using all instead of only the useful constraints in separation, propagation and enforcement, -1 for no eager evaluations, 0 for first only

Definition at line 54 of file cons_integralorig.c.

◆ CONSHDLR_NEEDSCONS

#define CONSHDLR_NEEDSCONS   FALSE

should the constraint handler be skipped, if no constraints are available?

Definition at line 56 of file cons_integralorig.c.

Function Documentation

◆ GCGconsIntegralorigAddBranchrule()

SCIP_RETCODE GCGconsIntegralorigAddBranchrule ( SCIP *  scip,
SCIP_BRANCHRULE *  branchrule 
)

insert branchrule in constraint handler data

Definition at line 67 of file cons_integralorig.c.

References CONSHDLR_NAME.

Referenced by SCIPincludeBranchruleBPStrong(), SCIPincludeBranchruleGeneric(), SCIPincludeBranchruleOrig(), and SCIPincludeBranchruleRelpsprob().

◆ sortBranchrules()

static void sortBranchrules ( SCIP_BRANCHRULE **  branchrules,
int  nbranchrules 
)
static

sort branchrules with respect to priority

Definition at line 102 of file cons_integralorig.c.

Referenced by SCIP_DECL_CONSENFOLP(), and SCIP_DECL_CONSENFOPS().

◆ SCIP_DECL_CONSENFOLP()

static SCIP_DECL_CONSENFOLP ( consEnfolpIntegralOrig  )
static

constraint enforcing method of constraint handler for LP solutions

todo handle bool allowaddcons; here default TRUE

Definition at line 141 of file cons_integralorig.c.

References CONSHDLR_NAME, GCGmasterGetOrigprob(), GCGrelaxIsOrigSolFeasible(), and sortBranchrules().

◆ SCIP_DECL_CONSENFOPS()

static SCIP_DECL_CONSENFOPS ( consEnfopsIntegralOrig  )
static

constraint enforcing method of constraint handler for pseudo solutions

todo handle bool allowaddcons; here default TRUE

Definition at line 212 of file cons_integralorig.c.

References CONSHDLR_NAME, GCGmasterGetOrigprob(), and sortBranchrules().

◆ SCIP_DECL_CONSCHECK()

static SCIP_DECL_CONSCHECK ( consCheckIntegralOrig  )
static

feasibility check method of constraint handler for integral solutions

Definition at line 266 of file cons_integralorig.c.

References CONSHDLR_NAME, GCGmasterGetOrigprob(), GCGtransformMastersolToOrigsol(), and GCGvarIsOriginal().

◆ SCIP_DECL_CONSLOCK()

static SCIP_DECL_CONSLOCK ( consLockIntegralOrig  )
static

variable rounding lock method of constraint handler

Definition at line 332 of file cons_integralorig.c.

◆ SCIP_DECL_CONSFREE()

static SCIP_DECL_CONSFREE ( consFreeIntegralOrig  )
static

destructor of constraint handler to free constraint handler data (called when SCIP is exiting)

Definition at line 339 of file cons_integralorig.c.

References CONSHDLR_NAME.

◆ SCIPincludeConshdlrIntegralOrig()

SCIP_RETCODE SCIPincludeConshdlrIntegralOrig ( SCIP *  scip)

creates the handler for integrality constraint and includes it in SCIP

Parameters
scipSCIP data structure

Definition at line 372 of file cons_integralorig.c.

References CONSHDLR_CHECKPRIORITY, CONSHDLR_DESC, CONSHDLR_EAGERFREQ, CONSHDLR_ENFOPRIORITY, CONSHDLR_NAME, and CONSHDLR_NEEDSCONS.

Referenced by GCGincludeMasterPlugins().