Detailed Description
methods for creating output for visualization tools (VBC, BAK)
Output can be generated for the following visualization tools:
- VBCTOOL - a graphical interface for Visualization of Branch Cut algorithms
See VBCTOOL. - BAK: Branch-and-bound Analysis Kit
BAK is available through COIN-OR, see BAK. A description is available as well.
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.
Function Documentation
◆ getBranchInfo()
|
static |
returns the branching variable of the node, or NULL
- Parameters
-
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, NULL, SCIP_BOUNDTYPE_LOWER, and SCIP_BoundChg::var.
Referenced by SCIPvisualCutoffNode(), SCIPvisualFoundSolution(), SCIPvisualNewChild(), SCIPvisualSolvedNode(), and SCIPvisualUpdateChild().
◆ SCIPvisualCreate()
SCIP_RETCODE SCIPvisualCreate | ( | SCIP_VISUAL ** | visual, |
SCIP_MESSAGEHDLR * | messagehdlr | ||
) |
creates visualization data structure
- Parameters
-
visual pointer to store visualization information messagehdlr message handler
Definition at line 75 of file visual.c.
References BMSallocMemory, FALSE, SCIP_Visual::messagehdlr, NULL, SCIP_ALLOC, SCIP_INVALID, SCIP_OKAY, and SCIP_VBCCOLOR_NONE.
Referenced by SCIPstatCreate().
◆ SCIPvisualFree()
void SCIPvisualFree | ( | SCIP_VISUAL ** | visual | ) |
frees visualization data structure
- Parameters
-
visual pointer to store visualization information
Definition at line 96 of file visual.c.
References BMSfreeMemory, and NULL.
Referenced by SCIPstatFree().
◆ SCIPvisualInit()
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
- Parameters
-
visual visualization information blkmem block memory set global SCIP settings messagehdlr message handler
Definition at line 110 of file visual.c.
References SCIP_Visual::bakfile, SCIP_Visual::lastcolor, SCIP_Visual::lastlowerbound, SCIP_Visual::lastnode, SCIP_Visual::messagehdlr, SCIP_Visual::nodenum, NULL, SCIP_CALL, SCIP_FILECREATEERROR, SCIP_HASHSIZE_VBC, SCIP_OKAY, SCIP_VBCCOLOR_NONE, SCIP_VERBLEVEL_NORMAL, SCIPerrorMessage, SCIPhashmapCreate(), SCIPmessageFPrintInfo(), SCIPmessagePrintVerbInfo(), SCIPprintSysError(), SCIPsetInfinity(), SCIP_Visual::timestep, SCIP_Visual::userealtime, and SCIP_Visual::vbcfile.
Referenced by initSolve().
◆ SCIPvisualExit()
void SCIPvisualExit | ( | SCIP_VISUAL * | visual, |
SCIP_SET * | set, | ||
SCIP_MESSAGEHDLR * | messagehdlr | ||
) |
closes the visualization output file
- Parameters
-
visual visualization information set global SCIP settings messagehdlr message handler
Definition at line 179 of file visual.c.
References SCIP_Visual::bakfile, SCIP_Visual::nodenum, NULL, SCIP_VERBLEVEL_FULL, SCIPhashmapFree(), SCIPmessagePrintVerbInfo(), and SCIP_Visual::vbcfile.
Referenced by freeReoptSolve(), and freeSolve().
◆ printTime()
|
static |
prints current solution time to visualization output file
- Parameters
-
visual visualization information stat problem statistics vbc whether we use vbc output (bak otherwise)
Definition at line 210 of file visual.c.
References SCIP_Visual::bakfile, SCIP_Visual::messagehdlr, NULL, 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().
◆ SCIPvisualNewChild()
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
- Parameters
-
visual visualization information set global SCIP settings stat problem statistics node new node, that was created
Definition at line 256 of file visual.c.
References SCIP_Visual::bakfile, getBranchInfo(), SCIP_Visual::messagehdlr, SCIP_Stat::ncreatednodesrun, SCIP_Visual::nodenum, NULL, SCIP_Node::parent, printTime(), SCIP_BOUNDTYPE_LOWER, SCIP_CALL, SCIP_INVALIDDATA, SCIP_Longint, SCIP_NODETYPE_PROBINGNODE, SCIP_OKAY, SCIP_Real, SCIP_VBCCOLOR_UNSOLVED, SCIPerrorMessage, SCIPhashmapGetImageInt(), SCIPhashmapSetImageInt(), SCIPmessageFPrintInfo(), SCIPnodeGetDepth(), SCIPnodeGetLowerbound(), SCIPnodeGetType(), SCIPretransformObj(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetUbLocal(), TRUE, and SCIP_Visual::vbcfile.
Referenced by SCIPnodeCreateChild().
◆ SCIPvisualUpdateChild()
SCIP_RETCODE SCIPvisualUpdateChild | ( | SCIP_VISUAL * | visual, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_NODE * | node | ||
) |
updates a node entry in the visualization output file
- Parameters
-
visual visualization information set global SCIP settings stat problem statistics node new node, that was created
Definition at line 331 of file visual.c.
References SCIP_Visual::bakfile, FALSE, getBranchInfo(), SCIP_Visual::messagehdlr, SCIP_Visual::nodenum, NULL, 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(), SCIPhashmapGetImageInt(), SCIPmessageFPrintInfo(), SCIPnodeGetDepth(), SCIPnodeGetLowerbound(), SCIPnodeGetType(), SCIPretransformObj(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetUbLocal(), TRUE, and SCIP_Visual::vbcfile.
Referenced by SCIPtreeBranchVar(), SCIPtreeBranchVarHole(), and SCIPtreeBranchVarNary().
◆ vbcSetColor()
|
static |
changes the color of the node to the given color
- Parameters
-
visual visualization information stat problem statistics node node to change color for color new color of node, or SCIP_VBCCOLOR_NONE
Definition at line 439 of file visual.c.
References SCIP_Visual::lastcolor, SCIP_Visual::lastnode, SCIP_Visual::messagehdlr, SCIP_Visual::nodenum, NULL, printTime(), SCIP_VBCCOLOR_NONE, SCIPhashmapGetImageInt(), SCIPmessageFPrintInfo(), TRUE, and SCIP_Visual::vbcfile.
Referenced by SCIPvisualCutoffNode(), SCIPvisualFoundConflict(), SCIPvisualFoundSolution(), SCIPvisualMarkedRepropagateNode(), SCIPvisualRepropagatedNode(), and SCIPvisualSolvedNode().
◆ SCIPvisualSolvedNode()
void SCIPvisualSolvedNode | ( | SCIP_VISUAL * | visual, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_NODE * | node | ||
) |
marks node as solved in visualization output file
- Parameters
-
visual visualization information set global SCIP settings stat problem statistics node node, that was solved
Definition at line 463 of file visual.c.
References SCIP_Visual::bakfile, getBranchInfo(), SCIP_Visual::messagehdlr, SCIP_Stat::nnodes, SCIP_Visual::nodenum, NULL, printTime(), SCIP_BOUNDTYPE_LOWER, SCIP_LONGINT_FORMAT, SCIP_NODETYPE_PROBINGNODE, SCIP_Real, SCIP_VBCCOLOR_SOLVED, SCIPhashmapGetImageInt(), SCIPmessageFPrintInfo(), SCIPnodeGetDepth(), SCIPnodeGetLowerbound(), SCIPnodeGetType(), SCIPretransformObj(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetUbLocal(), TRUE, SCIP_Visual::vbcfile, and vbcSetColor().
Referenced by SCIPsolveCIP().
◆ SCIPvisualCutoffNode()
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
- Parameters
-
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 523 of file visual.c.
References SCIP_Visual::bakfile, FALSE, getBranchInfo(), SCIP_Visual::messagehdlr, SCIP_Stat::nnodes, SCIP_Visual::nodenum, NULL, SCIP_Node::parent, printTime(), SCIP_BOUNDTYPE_LOWER, SCIP_LONGINT_FORMAT, SCIP_NODETYPE_PROBINGNODE, SCIP_Real, SCIP_VBCCOLOR_CUTOFF, SCIPhashmapGetImageInt(), SCIPmessageFPrintInfo(), SCIPnodeGetDepth(), SCIPnodeGetLowerbound(), SCIPnodeGetType(), SCIPretransformObj(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetUbLocal(), TRUE, SCIP_Visual::vbcfile, and vbcSetColor().
Referenced by nodeToLeaf(), SCIPnodeCutoff(), SCIPnodeFocus(), SCIPnodepqBound(), SCIPsolveCIP(), and SCIPtreeCutoff().
◆ SCIPvisualFoundConflict()
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
- Parameters
-
visual visualization information stat problem statistics node node, where the conflict was found
Definition at line 602 of file visual.c.
References NULL, SCIP_NODETYPE_PROBINGNODE, SCIP_VBCCOLOR_CONFLICT, SCIPnodeGetType(), and vbcSetColor().
Referenced by SCIPconflictFlushConss().
◆ SCIPvisualMarkedRepropagateNode()
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
- Parameters
-
visual visualization information stat problem statistics node node, that was marked to be repropagated
Definition at line 620 of file visual.c.
References NULL, SCIP_NODETYPE_PROBINGNODE, SCIP_VBCCOLOR_MARKREPROP, SCIPnodeGetNumber(), SCIPnodeGetType(), and vbcSetColor().
Referenced by SCIPnodePropagateAgain().
◆ SCIPvisualRepropagatedNode()
void SCIPvisualRepropagatedNode | ( | SCIP_VISUAL * | visual, |
SCIP_STAT * | stat, | ||
SCIP_NODE * | node | ||
) |
changes the color of the node to the color of repropagated nodes
- Parameters
-
visual visualization information stat problem statistics node node, that was repropagated
Definition at line 641 of file visual.c.
References NULL, SCIP_NODETYPE_PROBINGNODE, SCIP_VBCCOLOR_REPROP, SCIPnodeGetType(), and vbcSetColor().
Referenced by nodeRepropagate().
◆ SCIPvisualFoundSolution()
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
- Parameters
-
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 659 of file visual.c.
References SCIP_Visual::bakfile, FALSE, getBranchInfo(), SCIP_Visual::messagehdlr, SCIP_Visual::nodenum, NULL, SCIP_Node::parent, printTime(), SCIP_BOUNDTYPE_LOWER, SCIP_NODETYPE_PROBINGNODE, SCIP_Real, SCIP_VBCCOLOR_SOLUTION, SCIPgetSolOrigObj(), SCIPgetSolTransObj(), SCIPhashmapGetImageInt(), SCIPmessageFPrintInfo(), SCIPnodeGetParent(), SCIPnodeGetType(), SCIPsolGetHeur(), TRUE, SCIP_Visual::vbcfile, and vbcSetColor().
Referenced by primalAddSol().
◆ SCIPvisualLowerbound()
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
- Parameters
-
visual visualization information set global SCIP settings stat problem statistics lowerbound new lower bound
Definition at line 758 of file visual.c.
References SCIP_Visual::lastlowerbound, SCIP_Visual::messagehdlr, NULL, printTime(), SCIP_OBJSENSE_MINIMIZE, SCIPgetObjsense(), SCIPmessageFPrintInfo(), SCIPretransformObj(), SCIPsetIsGT(), SCIPsetIsInfinity(), TRUE, and SCIP_Visual::vbcfile.
Referenced by SCIPnodeUpdateLowerbound().
◆ SCIPvisualUpperbound()
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
- Parameters
-
visual visualization information set global SCIP settings stat problem statistics upperbound new upper bound
Definition at line 795 of file visual.c.
References SCIP_Visual::messagehdlr, NULL, printTime(), SCIP_OBJSENSE_MINIMIZE, SCIPgetObjsense(), SCIPmessageFPrintInfo(), SCIPretransformObj(), TRUE, and SCIP_Visual::vbcfile.
Referenced by primalSetUpperbound().