82 (*visual)->vbcfile =
NULL;
83 (*visual)->bakfile =
NULL;
85 (*visual)->nodenum =
NULL;
86 (*visual)->timestep = 0;
87 (*visual)->lastnode =
NULL;
89 (*visual)->userealtime =
FALSE;
99 assert( visual !=
NULL );
100 assert( *visual !=
NULL );
101 assert( (*visual)->vbcfile ==
NULL );
102 assert( (*visual)->bakfile ==
NULL );
103 assert( (*visual)->nodenum ==
NULL );
116 assert( visual !=
NULL );
117 assert(
set !=
NULL );
118 assert( set->visual_vbcfilename !=
NULL );
119 assert( set->visual_bakfilename !=
NULL );
123 if ( set->visual_vbcfilename[0] !=
'-' || set->visual_vbcfilename[1] !=
'\0' )
126 "storing VBC information in file <%s>\n", set->visual_vbcfilename);
127 visual->
vbcfile = fopen(set->visual_vbcfilename,
"w");
148 if ( set->visual_bakfilename[0] !=
'-' || set->visual_bakfilename[1] !=
'\0' )
151 "storing BAK information in file <%s>\n", set->visual_bakfilename);
152 visual->
bakfile = fopen(set->visual_bakfilename,
"w");
182 assert( visual !=
NULL );
183 assert(
set !=
NULL );
219 assert( visual !=
NULL );
220 assert( stat !=
NULL );
236 hours = (int)(step / (60*60*100));
238 mins = (int)(step / (60*100));
240 secs = (int)(step / 100);
264 size_t parentnodenum;
267 assert( visual !=
NULL );
268 assert( stat !=
NULL );
269 assert( node !=
NULL );
292 assert(node->
parent ==
NULL || parentnodenum > 0);
298 if ( set->visual_objextern )
308 if( branchvar !=
NULL )
341 assert( visual !=
NULL );
342 assert( stat !=
NULL );
343 assert( node !=
NULL );
361 if ( set->visual_objextern )
369 if( branchvar !=
NULL )
385 size_t parentnodenum;
390 const char* nodeinfo;
394 if ( branchvar !=
NULL )
399 assert(node->
parent ==
NULL || parentnodenum > 0);
406 nodeinfo =
"candidate";
410 nodeinfo =
"branched";
416 for( j = 0; j < nlpcands; ++j )
417 sum += lpcandsfrac[j];
428 lowerbound, sum, nlpcands);
443 assert( visual !=
NULL );
444 assert( node !=
NULL );
473 assert( visual !=
NULL );
474 assert( stat !=
NULL );
475 assert( node !=
NULL );
493 if ( set->visual_objextern )
501 if( branchvar !=
NULL )
534 assert( visual !=
NULL );
535 assert( stat !=
NULL );
536 assert( node !=
NULL );
554 if ( set->visual_objextern )
562 if( branchvar !=
NULL )
579 size_t parentnodenum;
583 if ( branchvar !=
NULL )
588 assert(node->
parent ==
NULL || parentnodenum > 0);
605 assert(node !=
NULL);
623 assert(node !=
NULL);
644 assert(node !=
NULL);
667 if ( node !=
NULL && set->visual_dispsols )
678 if ( set->visual_objextern )
690 size_t parentnodenum;
706 assert( pnode->
parent ==
NULL || parentnodenum > 0 );
712 if ( branchvar !=
NULL )
735 assert( visual !=
NULL );
742 if ( set->visual_objextern )
759 assert( visual !=
NULL );
766 if ( set->visual_objextern )
SCIP_RETCODE SCIPgetLPBranchCands(SCIP *scip, SCIP_VAR ***lpcands, SCIP_Real **lpcandssol, SCIP_Real **lpcandsfrac, int *nlpcands, int *npriolpcands, int *nfracimplvars)
data structures for output for visualization tools (VBC, BAK)
enum SCIP_BoundType SCIP_BOUNDTYPE
SCIP_RETCODE SCIPvisualCreate(SCIP_VISUAL **visual, SCIP_MESSAGEHDLR *messagehdlr)
enum SCIP_VBCColor SCIP_VBCCOLOR
void SCIPvisualRepropagatedNode(SCIP_VISUAL *visual, SCIP_STAT *stat, SCIP_NODE *node)
internal methods for branch and bound tree
SCIP_Real SCIPnodeGetLowerbound(SCIP_NODE *node)
internal methods for clocks and timing issues
SCIP_BOUNDCHG * boundchgs
SCIP_Real SCIPvarGetLbLocal(SCIP_VAR *var)
void SCIPvisualFree(SCIP_VISUAL **visual)
SCIP_RETCODE SCIPhashmapCreate(SCIP_HASHMAP **hashmap, BMS_BLKMEM *blkmem, int mapsize)
enum SCIP_Retcode SCIP_RETCODE
void SCIPvisualSolvedNode(SCIP_VISUAL *visual, SCIP_SET *set, SCIP_STAT *stat, SCIP_NODE *node)
void * SCIPhashmapGetImage(SCIP_HASHMAP *hashmap, void *origin)
int SCIPnodeGetDepth(SCIP_NODE *node)
methods for creating output for visualization tools (VBC, BAK)
static void getBranchInfo(SCIP_NODE *node, SCIP_VAR **var, SCIP_BOUNDTYPE *boundtype, SCIP_Real *bound)
#define BMSfreeMemory(ptr)
void SCIPvisualExit(SCIP_VISUAL *visual, SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr)
void SCIPvisualLowerbound(SCIP_VISUAL *visual, SCIP_SET *set, SCIP_STAT *stat, SCIP_Real lowerbound)
static void vbcSetColor(SCIP_VISUAL *visual, SCIP_STAT *stat, SCIP_NODE *node, SCIP_VBCCOLOR color)
SCIP_Longint SCIPnodeGetNumber(SCIP_NODE *node)
SCIP_RETCODE SCIPvisualNewChild(SCIP_VISUAL *visual, SCIP_SET *set, SCIP_STAT *stat, SCIP_NODE *node)
void SCIPmessagePrintVerbInfo(SCIP_MESSAGEHDLR *messagehdlr, SCIP_VERBLEVEL verblevel, SCIP_VERBLEVEL msgverblevel, const char *formatstr,...)
const char * SCIPvarGetName(SCIP_VAR *var)
SCIP_Real SCIPclockGetTime(SCIP_CLOCK *clck)
void SCIPhashmapFree(SCIP_HASHMAP **hashmap)
SCIP_HEUR * SCIPsolGetHeur(SCIP_SOL *sol)
SCIP_Real SCIPgetSolTransObj(SCIP *scip, SCIP_SOL *sol)
internal methods for global SCIP settings
SCIP_Longint ncreatednodesrun
internal methods for problem variables
SCIP_LPSOLSTAT SCIPgetLPSolstat(SCIP *scip)
#define SCIP_HASHSIZE_VBC
void SCIPprintSysError(const char *message)
SCIP_RETCODE SCIPvisualUpdateChild(SCIP_VISUAL *visual, SCIP_SET *set, SCIP_STAT *stat, SCIP_NODE *node)
SCIP_Real SCIPgetSolOrigObj(SCIP *scip, SCIP_SOL *sol)
SCIP_DOMCHGBOUND domchgbound
void SCIPvisualFoundConflict(SCIP_VISUAL *visual, SCIP_STAT *stat, SCIP_NODE *node)
SCIP_MESSAGEHDLR * messagehdlr
SCIP_Real SCIPretransformObj(SCIP *scip, SCIP_Real obj)
void SCIPmessageFPrintInfo(SCIP_MESSAGEHDLR *messagehdlr, FILE *file, const char *formatstr,...)
SCIP_RETCODE SCIPhashmapSetImage(SCIP_HASHMAP *hashmap, void *origin, void *image)
SCIP_NODETYPE SCIPnodeGetType(SCIP_NODE *node)
void SCIPvisualCutoffNode(SCIP_VISUAL *visual, SCIP_SET *set, SCIP_STAT *stat, SCIP_NODE *node, SCIP_Bool infeasible)
internal methods for problem statistics
#define BMSallocMemory(ptr)
SCIP_Real SCIPvarGetUbLocal(SCIP_VAR *var)
void SCIPvisualMarkedRepropagateNode(SCIP_VISUAL *visual, SCIP_STAT *stat, SCIP_NODE *node)
struct BMS_BlkMem BMS_BLKMEM
void SCIPvisualUpperbound(SCIP_VISUAL *visual, SCIP_SET *set, SCIP_STAT *stat, SCIP_Real upperbound)
void SCIPvisualFoundSolution(SCIP_VISUAL *visual, SCIP_SET *set, SCIP_STAT *stat, SCIP_NODE *node, SCIP_Bool bettersol, SCIP_SOL *sol)
SCIP_RETCODE SCIPvisualInit(SCIP_VISUAL *visual, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr)
static void printTime(SCIP_VISUAL *visual, SCIP_STAT *stat, SCIP_Bool vbc)
memory allocation routines