Solving Constraint Integer Programs

branch_vanillafullstrong.h File Reference

Detailed Description

vanilla full strong LP branching rule

Tobias Achterberg
Maxime Gasse

The vanilla full strong branching rule is a purged implementation of full strong branching, for academic purposes. It implements full strong branching with the following specific features:

  • no cutoff or domain reduction: only branching.
  • idempotent (optional): leave SCIP, as much as possible, in the same state before / after the strong branching calls. Basically, do not update any statistic.
  • donotbranch (optional): do no perform branching. So that the brancher can be called as an oracle only (on which variable would you branch ? But do not branch please).
  • scoreall (optional): continue scoring variables, even if infeasibility is detected along the way.
  • collectscores (optional): store the candidate scores from the last call, which can then be retrieved by calling SCIPgetVanillafullstrongData().
  • integralcands (optional): get candidates from SCIPgetPseudoBranchCands() instead of SCIPgetLPBranchCands(), i.e., consider all non-fixed variables as branching candidates, not only fractional ones.

Definition in file branch_vanillafullstrong.h.

#include "scip/def.h"
#include "scip/type_result.h"
#include "scip/type_retcode.h"
#include "scip/type_scip.h"
#include "scip/type_var.h"

Go to the source code of this file.


SCIP_RETCODE SCIPincludeBranchruleVanillafullstrong (SCIP *scip)
SCIP_RETCODE SCIPgetVanillafullstrongData (SCIP *scip, SCIP_VAR ***cands, SCIP_Real **candscores, int *ncands, int *npriocands, int *bestcand)

Function Documentation

◆ SCIPgetVanillafullstrongData()

SCIP_RETCODE SCIPgetVanillafullstrongData ( SCIP scip,
SCIP_VAR ***  cands,
SCIP_Real **  candscores,
int *  ncands,
int *  npriocands,
int *  bestcand 

recovers candidate variables and their scores from last vanilla full strong branching call

scipSCIP data structure
candspointer to store candidate variables; or NULL
candscorespointer to store candidate scores; or NULL
ncandspointer to store number of candidates; or NULL
npriocandspointer to store number of priority candidates; or NULL
bestcandpointer to store best branching candidate; or NULL

Definition at line 555 of file branch_vanillafullstrong.c.

References BRANCHRULE_NAME, NULL, SCIP_OKAY, SCIPbranchruleGetData(), and SCIPfindBranchrule().

Referenced by SCIPincludeBranchruleVanillafullstrong().