92 (*visual)->vbcfile =
NULL;
93 (*visual)->bakfile =
NULL;
94 (*visual)->messagehdlr = messagehdlr;
95 (*visual)->nodenum =
NULL;
96 (*visual)->timestep = 0;
97 (*visual)->lastnode =
NULL;
99 (*visual)->userealtime =
FALSE;
136 if (
set->visual_vbcfilename[0] !=
'-' ||
set->visual_vbcfilename[1] !=
'\0' )
139 "storing VBC information in file <%s>\n",
set->visual_vbcfilename);
140 visual->
vbcfile = fopen(
set->visual_vbcfilename,
"w");
161 if (
set->visual_bakfilename[0] !=
'-' ||
set->visual_bakfilename[1] !=
'\0' )
164 "storing BAK information in file <%s>\n",
set->visual_bakfilename);
165 visual->
bakfile = fopen(
set->visual_bakfilename,
"w");
249 hours = (int)(step / (60*60*100));
251 mins = (int)(step / (60*100));
253 secs = (int)(step / 100);
311 if (
set->visual_objextern )
321 if( branchvar !=
NULL )
374 if (
set->visual_objextern )
382 if( branchvar !=
NULL )
403 const char* nodeinfo;
407 if ( branchvar !=
NULL )
419 nodeinfo =
"candidate";
423 nodeinfo =
"branched";
506 if (
set->visual_objextern )
514 if( branchvar !=
NULL )
567 if (
set->visual_objextern )
575 if( branchvar !=
NULL )
596 if ( branchvar !=
NULL )
678 if( node ==
NULL || !
set->visual_dispsols )
696 if(
set->visual_objextern )
717 if(
set->visual_objextern )
752 if( branchvar !=
NULL )
778 if ( !
set->visual_displb )
791 if(
set->visual_objextern )
819 if(
set->visual_objextern )
SCIP_Real SCIPclockGetTime(SCIP_CLOCK *clck)
internal methods for clocks and timing issues
#define SCIP_HASHSIZE_VBC
#define SCIP_LONGINT_FORMAT
SCIP_OBJSENSE SCIPgetObjsense(SCIP *scip)
void SCIPhashmapFree(SCIP_HASHMAP **hashmap)
int SCIPhashmapGetImageInt(SCIP_HASHMAP *hashmap, void *origin)
SCIP_RETCODE SCIPhashmapCreate(SCIP_HASHMAP **hashmap, BMS_BLKMEM *blkmem, int mapsize)
SCIP_RETCODE SCIPhashmapSetImageInt(SCIP_HASHMAP *hashmap, void *origin, int image)
SCIP_RETCODE SCIPgetLPBranchCands(SCIP *scip, SCIP_VAR ***lpcands, SCIP_Real **lpcandssol, SCIP_Real **lpcandsfrac, int *nlpcands, int *npriolpcands, int *nfracimplvars)
SCIP_LPSOLSTAT SCIPgetLPSolstat(SCIP *scip)
SCIP_NODETYPE SCIPnodeGetType(SCIP_NODE *node)
SCIP_Real SCIPnodeGetLowerbound(SCIP_NODE *node)
SCIP_Longint SCIPnodeGetNumber(SCIP_NODE *node)
SCIP_NODE * SCIPnodeGetParent(SCIP_NODE *node)
int SCIPnodeGetDepth(SCIP_NODE *node)
SCIP_HEUR * SCIPsolGetHeur(SCIP_SOL *sol)
SCIP_Real SCIPgetSolOrigObj(SCIP *scip, SCIP_SOL *sol)
SCIP_Real SCIPgetSolTransObj(SCIP *scip, SCIP_SOL *sol)
SCIP_Real SCIPretransformObj(SCIP *scip, SCIP_Real obj)
SCIP_Real SCIPvarGetUbLocal(SCIP_VAR *var)
const char * SCIPvarGetName(SCIP_VAR *var)
SCIP_Real SCIPvarGetLbLocal(SCIP_VAR *var)
void SCIPprintSysError(const char *message)
assert(minobj< SCIPgetCutoffbound(scip))
memory allocation routines
#define BMSfreeMemory(ptr)
struct BMS_BlkMem BMS_BLKMEM
#define BMSallocMemory(ptr)
void SCIPmessageFPrintInfo(SCIP_MESSAGEHDLR *messagehdlr, FILE *file, const char *formatstr,...)
void SCIPmessagePrintVerbInfo(SCIP_MESSAGEHDLR *messagehdlr, SCIP_VERBLEVEL verblevel, SCIP_VERBLEVEL msgverblevel, const char *formatstr,...)
SCIP_Real SCIPsetInfinity(SCIP_SET *set)
SCIP_Bool SCIPsetIsInfinity(SCIP_SET *set, SCIP_Real val)
SCIP_Bool SCIPsetIsGT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
internal methods for global SCIP settings
internal methods for problem statistics
SCIP_BOUNDCHG * boundchgs
SCIP_Longint ncreatednodesrun
SCIP_MESSAGEHDLR * messagehdlr
data structures for output for visualization tools (VBC, BAK)
internal methods for branch and bound tree
enum SCIP_BoundType SCIP_BOUNDTYPE
struct SCIP_Messagehdlr SCIP_MESSAGEHDLR
enum SCIP_Retcode SCIP_RETCODE
struct SCIP_Stat SCIP_STAT
struct SCIP_Node SCIP_NODE
@ SCIP_NODETYPE_PROBINGNODE
@ SCIP_NODETYPE_FOCUSNODE
struct SCIP_DomChgBound SCIP_DOMCHGBOUND
struct SCIP_Visual SCIP_VISUAL
enum SCIP_VBCColor SCIP_VBCCOLOR
@ SCIP_VBCCOLOR_MARKREPROP
SCIP_DOMCHGBOUND domchgbound
internal methods for problem variables
SCIP_RETCODE SCIPvisualUpdateChild(SCIP_VISUAL *visual, SCIP_SET *set, SCIP_STAT *stat, SCIP_NODE *node)
void SCIPvisualUpperbound(SCIP_VISUAL *visual, SCIP_SET *set, SCIP_STAT *stat, SCIP_Real upperbound)
void SCIPvisualLowerbound(SCIP_VISUAL *visual, SCIP_SET *set, SCIP_STAT *stat, SCIP_Real lowerbound)
void SCIPvisualMarkedRepropagateNode(SCIP_VISUAL *visual, SCIP_STAT *stat, SCIP_NODE *node)
void SCIPvisualFoundSolution(SCIP_VISUAL *visual, SCIP_SET *set, SCIP_STAT *stat, SCIP_NODE *node, SCIP_Bool bettersol, SCIP_SOL *sol)
static void vbcSetColor(SCIP_VISUAL *visual, SCIP_STAT *stat, SCIP_NODE *node, SCIP_VBCCOLOR color)
static void getBranchInfo(SCIP_NODE *node, SCIP_VAR **var, SCIP_BOUNDTYPE *boundtype, SCIP_Real *bound)
SCIP_RETCODE SCIPvisualNewChild(SCIP_VISUAL *visual, SCIP_SET *set, SCIP_STAT *stat, SCIP_NODE *node)
void SCIPvisualSolvedNode(SCIP_VISUAL *visual, SCIP_SET *set, SCIP_STAT *stat, SCIP_NODE *node)
static void printTime(SCIP_VISUAL *visual, SCIP_STAT *stat, SCIP_Bool vbc)
void SCIPvisualFree(SCIP_VISUAL **visual)
SCIP_RETCODE SCIPvisualInit(SCIP_VISUAL *visual, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr)
SCIP_RETCODE SCIPvisualCreate(SCIP_VISUAL **visual, SCIP_MESSAGEHDLR *messagehdlr)
void SCIPvisualFoundConflict(SCIP_VISUAL *visual, SCIP_STAT *stat, SCIP_NODE *node)
void SCIPvisualCutoffNode(SCIP_VISUAL *visual, SCIP_SET *set, SCIP_STAT *stat, SCIP_NODE *node, SCIP_Bool infeasible)
void SCIPvisualExit(SCIP_VISUAL *visual, SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr)
void SCIPvisualRepropagatedNode(SCIP_VISUAL *visual, SCIP_STAT *stat, SCIP_NODE *node)
methods for creating output for visualization tools (VBC, BAK)