methods for creating output for visualization tools (VBC, BAK)
Output can be generated for the following visualization tools:
Definition in file visual.c.
#include <stdio.h>
#include <assert.h>
#include "blockmemshell/memory.h"
#include "scip/scip.h"
#include "scip/set.h"
#include "scip/stat.h"
#include "scip/clock.h"
#include "scip/var.h"
#include "scip/tree.h"
#include "scip/visual.h"
#include "scip/struct_visual.h"
Go to the source code of this file.
|
static |
returns the branching variable of the node, or NULL
node | node |
var | pointer to store the branching variable |
boundtype | pointer to store the branching type: lower or upper bound |
bound | pointer to store the new bound of the branching variable |
Definition at line 48 of file visual.c.
References SCIP_DomChgBound::boundchgs, SCIP_BoundChg::boundtype, SCIP_Node::domchg, SCIP_DomChg::domchgbound, SCIP_DomChgBound::nboundchgs, SCIP_BoundChg::newbound, SCIP_BOUNDTYPE_LOWER, and SCIP_BoundChg::var.
Referenced by SCIPvisualCutoffNode(), SCIPvisualFoundSolution(), SCIPvisualNewChild(), SCIPvisualSolvedNode(), and SCIPvisualUpdateChild().
SCIP_RETCODE SCIPvisualCreate | ( | SCIP_VISUAL ** | visual, |
SCIP_MESSAGEHDLR * | messagehdlr | ||
) |
creates visualization data structure
visual | pointer to store visualization information |
messagehdlr | message handler |
Definition at line 75 of file visual.c.
References BMSallocMemory, FALSE, SCIP_Visual::messagehdlr, SCIP_ALLOC, SCIP_OKAY, and SCIP_VBCCOLOR_NONE.
Referenced by SCIPstatCreate().
void SCIPvisualFree | ( | SCIP_VISUAL ** | visual | ) |
frees visualization data structure
visual | pointer to store visualization information |
Definition at line 95 of file visual.c.
References BMSfreeMemory.
Referenced by SCIPstatFree().
SCIP_RETCODE SCIPvisualInit | ( | SCIP_VISUAL * | visual, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_MESSAGEHDLR * | messagehdlr | ||
) |
initializes visualization information and creates a file for visualization output
visual | visualization information |
blkmem | block memory |
set | global SCIP settings |
messagehdlr | message handler |
Definition at line 109 of file visual.c.
References SCIP_Visual::bakfile, SCIP_Visual::lastcolor, SCIP_Visual::lastnode, SCIP_Visual::messagehdlr, SCIP_Visual::nodenum, SCIP_CALL, SCIP_FILECREATEERROR, SCIP_HASHSIZE_VBC, SCIP_OKAY, SCIP_VBCCOLOR_NONE, SCIP_VERBLEVEL_NORMAL, SCIPerrorMessage, SCIPhashmapCreate(), SCIPmessageFPrintInfo(), SCIPmessagePrintVerbInfo(), SCIPprintSysError(), SCIP_Visual::timestep, SCIP_Visual::userealtime, and SCIP_Visual::vbcfile.
Referenced by initSolve().
void SCIPvisualExit | ( | SCIP_VISUAL * | visual, |
SCIP_SET * | set, | ||
SCIP_MESSAGEHDLR * | messagehdlr | ||
) |
closes the visualization output file
visual | visualization information |
set | global SCIP settings |
messagehdlr | message handler |
Definition at line 176 of file visual.c.
References SCIP_Visual::bakfile, SCIP_Visual::nodenum, SCIP_VERBLEVEL_FULL, SCIPhashmapFree(), SCIPmessagePrintVerbInfo(), and SCIP_Visual::vbcfile.
Referenced by freeReoptSolve(), and freeSolve().
|
static |
prints current solution time to visualization output file
visual | visualization information |
stat | problem statistics |
vbc | whether we use vbc output (bak otherwise) |
Definition at line 207 of file visual.c.
References SCIP_Visual::bakfile, SCIP_Visual::messagehdlr, SCIP_Longint, SCIP_Real, SCIPclockGetTime(), SCIPmessageFPrintInfo(), SCIP_Stat::solvingtime, SCIP_Visual::timestep, SCIP_Visual::userealtime, and SCIP_Visual::vbcfile.
Referenced by SCIPvisualCutoffNode(), SCIPvisualFoundSolution(), SCIPvisualLowerbound(), SCIPvisualNewChild(), SCIPvisualSolvedNode(), SCIPvisualUpdateChild(), SCIPvisualUpperbound(), and vbcSetColor().
SCIP_RETCODE SCIPvisualNewChild | ( | SCIP_VISUAL * | visual, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_NODE * | node | ||
) |
creates a new node entry in the visualization output file
visual | visualization information |
set | global SCIP settings |
stat | problem statistics |
node | new node, that was created |
Definition at line 253 of file visual.c.
References SCIP_Visual::bakfile, getBranchInfo(), SCIP_Visual::messagehdlr, SCIP_Stat::ncreatednodesrun, SCIP_Visual::nodenum, SCIP_Node::parent, printTime(), SCIP_BOUNDTYPE_LOWER, SCIP_CALL, SCIP_INVALIDDATA, SCIP_Longint, SCIP_NODETYPE_PROBINGNODE, SCIP_OKAY, SCIP_Real, SCIP_VBCCOLOR_UNSOLVED, SCIPerrorMessage, SCIPhashmapGetImage(), SCIPhashmapSetImage(), SCIPmessageFPrintInfo(), SCIPnodeGetDepth(), SCIPnodeGetLowerbound(), SCIPnodeGetType(), SCIPretransformObj(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetUbLocal(), TRUE, and SCIP_Visual::vbcfile.
Referenced by SCIPnodeCreateChild().
SCIP_RETCODE SCIPvisualUpdateChild | ( | SCIP_VISUAL * | visual, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_NODE * | node | ||
) |
updates a node entry in the visualization output file
visual | visualization information |
set | global SCIP settings |
stat | problem statistics |
node | new node, that was created |
Definition at line 328 of file visual.c.
References SCIP_Visual::bakfile, FALSE, getBranchInfo(), SCIP_Visual::messagehdlr, SCIP_Visual::nodenum, SCIP_Node::parent, printTime(), SCIP_BOUNDTYPE_LOWER, SCIP_CALL, SCIP_INVALIDDATA, SCIP_LPSOLSTAT_OPTIMAL, SCIP_NODETYPE_CHILD, SCIP_NODETYPE_FOCUSNODE, SCIP_NODETYPE_PROBINGNODE, SCIP_OKAY, SCIP_Real, SCIPerrorMessage, SCIPgetLPBranchCands(), SCIPgetLPSolstat(), SCIPhashmapGetImage(), SCIPmessageFPrintInfo(), SCIPnodeGetDepth(), SCIPnodeGetLowerbound(), SCIPnodeGetType(), SCIPretransformObj(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetUbLocal(), TRUE, and SCIP_Visual::vbcfile.
Referenced by SCIPtreeBranchVar(), SCIPtreeBranchVarHole(), and SCIPtreeBranchVarNary().
|
static |
changes the color of the node to the given color
visual | visualization information |
stat | problem statistics |
node | node to change color for |
color | new color of node, or SCIP_VBCCOLOR_NONE |
Definition at line 436 of file visual.c.
References SCIP_Visual::lastcolor, SCIP_Visual::lastnode, SCIP_Visual::messagehdlr, SCIP_Visual::nodenum, printTime(), SCIP_VBCCOLOR_NONE, SCIPhashmapGetImage(), SCIPmessageFPrintInfo(), TRUE, and SCIP_Visual::vbcfile.
Referenced by SCIPvisualCutoffNode(), SCIPvisualFoundConflict(), SCIPvisualFoundSolution(), SCIPvisualMarkedRepropagateNode(), SCIPvisualRepropagatedNode(), and SCIPvisualSolvedNode().
void SCIPvisualSolvedNode | ( | SCIP_VISUAL * | visual, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_NODE * | node | ||
) |
marks node as solved in visualization output file
visual | visualization information |
set | global SCIP settings |
stat | problem statistics |
node | node, that was solved |
Definition at line 460 of file visual.c.
References SCIP_Visual::bakfile, getBranchInfo(), SCIP_Visual::messagehdlr, SCIP_Stat::nnodes, SCIP_Visual::nodenum, printTime(), SCIP_BOUNDTYPE_LOWER, SCIP_NODETYPE_PROBINGNODE, SCIP_Real, SCIP_VBCCOLOR_SOLVED, SCIPhashmapGetImage(), SCIPmessageFPrintInfo(), SCIPnodeGetDepth(), SCIPnodeGetLowerbound(), SCIPnodeGetType(), SCIPretransformObj(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetUbLocal(), TRUE, SCIP_Visual::vbcfile, and vbcSetColor().
Referenced by SCIPsolveCIP().
void SCIPvisualCutoffNode | ( | SCIP_VISUAL * | visual, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_NODE * | node, | ||
SCIP_Bool | infeasible | ||
) |
changes the color of the node to the color of cutoff nodes
visual | visualization information |
set | global SCIP settings |
stat | problem statistics |
node | node, that was cut off |
infeasible | whether the node is infeasible (otherwise exceeded the cutoff bound) |
Definition at line 520 of file visual.c.
References SCIP_Visual::bakfile, FALSE, getBranchInfo(), SCIP_Visual::messagehdlr, SCIP_Stat::nnodes, SCIP_Visual::nodenum, SCIP_Node::parent, printTime(), SCIP_BOUNDTYPE_LOWER, SCIP_NODETYPE_PROBINGNODE, SCIP_Real, SCIP_VBCCOLOR_CUTOFF, SCIPhashmapGetImage(), SCIPmessageFPrintInfo(), SCIPnodeGetDepth(), SCIPnodeGetLowerbound(), SCIPnodeGetType(), SCIPretransformObj(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetUbLocal(), TRUE, SCIP_Visual::vbcfile, and vbcSetColor().
Referenced by nodeToLeaf(), SCIPnodeCutoff(), SCIPnodeFocus(), SCIPnodepqBound(), SCIPsolveCIP(), and SCIPtreeCutoff().
void SCIPvisualFoundConflict | ( | SCIP_VISUAL * | visual, |
SCIP_STAT * | stat, | ||
SCIP_NODE * | node | ||
) |
changes the color of the node to the color of nodes where a conflict constraint was found
visual | visualization information |
stat | problem statistics |
node | node, where the conflict was found |
Definition at line 599 of file visual.c.
References SCIP_NODETYPE_PROBINGNODE, SCIP_VBCCOLOR_CONFLICT, SCIPnodeGetType(), and vbcSetColor().
Referenced by SCIPconflictFlushConss().
void SCIPvisualMarkedRepropagateNode | ( | SCIP_VISUAL * | visual, |
SCIP_STAT * | stat, | ||
SCIP_NODE * | node | ||
) |
changes the color of the node to the color of nodes that were marked to be repropagated
visual | visualization information |
stat | problem statistics |
node | node, that was marked to be repropagated |
Definition at line 617 of file visual.c.
References SCIP_NODETYPE_PROBINGNODE, SCIP_VBCCOLOR_MARKREPROP, SCIPnodeGetNumber(), SCIPnodeGetType(), and vbcSetColor().
Referenced by SCIPnodePropagateAgain().
void SCIPvisualRepropagatedNode | ( | SCIP_VISUAL * | visual, |
SCIP_STAT * | stat, | ||
SCIP_NODE * | node | ||
) |
changes the color of the node to the color of repropagated nodes
visual | visualization information |
stat | problem statistics |
node | node, that was repropagated |
Definition at line 638 of file visual.c.
References SCIP_NODETYPE_PROBINGNODE, SCIP_VBCCOLOR_REPROP, SCIPnodeGetType(), and vbcSetColor().
Referenced by nodeRepropagate().
void SCIPvisualFoundSolution | ( | SCIP_VISUAL * | visual, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_NODE * | node, | ||
SCIP_Bool | bettersol, | ||
SCIP_SOL * | sol | ||
) |
changes the color of the node to the color of nodes with a primal solution
visual | visualization information |
set | global SCIP settings |
stat | problem statistics |
node | node where the solution was found, or NULL |
bettersol | the solution was better than the previous ones |
sol | solution that has been found |
Definition at line 656 of file visual.c.
References SCIP_Visual::bakfile, FALSE, getBranchInfo(), SCIP_Visual::messagehdlr, SCIP_Visual::nodenum, SCIP_Node::parent, printTime(), SCIP_BOUNDTYPE_LOWER, SCIP_NODETYPE_PROBINGNODE, SCIP_Real, SCIP_VBCCOLOR_SOLUTION, SCIPgetSolOrigObj(), SCIPgetSolTransObj(), SCIPhashmapGetImage(), SCIPmessageFPrintInfo(), SCIPnodeGetType(), SCIPsolGetHeur(), TRUE, SCIP_Visual::vbcfile, and vbcSetColor().
Referenced by primalAddSol().
void SCIPvisualLowerbound | ( | SCIP_VISUAL * | visual, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_Real | lowerbound | ||
) |
outputs a new global lower bound to the visualization output file
visual | visualization information |
set | global SCIP settings |
stat | problem statistics |
lowerbound | new lower bound |
Definition at line 751 of file visual.c.
References SCIP_Visual::messagehdlr, printTime(), SCIP_OBJSENSE_MINIMIZE, SCIPgetObjsense(), SCIPmessageFPrintInfo(), SCIPretransformObj(), TRUE, and SCIP_Visual::vbcfile.
void SCIPvisualUpperbound | ( | SCIP_VISUAL * | visual, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_Real | upperbound | ||
) |
outputs a new global upper bound to the visualization output file
visual | visualization information |
set | global SCIP settings |
stat | problem statistics |
upperbound | new upper bound |
Definition at line 778 of file visual.c.
References SCIP_Visual::messagehdlr, printTime(), SCIP_OBJSENSE_MINIMIZE, SCIPgetObjsense(), SCIPmessageFPrintInfo(), SCIPretransformObj(), TRUE, and SCIP_Visual::vbcfile.
Referenced by primalSetUpperbound().