SCIP

Solving Constraint Integer Programs

visual.h File Reference

Detailed Description

methods for creating output for visualization tools (VBC, BAK)

Author
Tobias Achterberg
Marc Pfetsch

Definition in file visual.h.

#include "scip/def.h"
#include "scip/type_set.h"
#include "scip/type_sol.h"
#include "scip/type_stat.h"
#include "scip/type_tree.h"
#include "scip/type_visual.h"

Go to the source code of this file.

Functions

SCIP_RETCODE SCIPvisualCreate (SCIP_VISUAL **visual, SCIP_MESSAGEHDLR *messagehdlr)
 
void SCIPvisualFree (SCIP_VISUAL **visual)
 
SCIP_RETCODE SCIPvisualInit (SCIP_VISUAL *visual, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr)
 
void SCIPvisualExit (SCIP_VISUAL *visual, SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr)
 
SCIP_RETCODE SCIPvisualNewChild (SCIP_VISUAL *visual, SCIP_SET *set, SCIP_STAT *stat, SCIP_NODE *node)
 
SCIP_RETCODE SCIPvisualUpdateChild (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)
 
void SCIPvisualCutoffNode (SCIP_VISUAL *visual, SCIP_SET *set, SCIP_STAT *stat, SCIP_NODE *node, SCIP_Bool infeasible)
 
void SCIPvisualFoundConflict (SCIP_VISUAL *visual, SCIP_STAT *stat, SCIP_NODE *node)
 
void SCIPvisualMarkedRepropagateNode (SCIP_VISUAL *visual, SCIP_STAT *stat, SCIP_NODE *node)
 
void SCIPvisualRepropagatedNode (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)
 
void SCIPvisualLowerbound (SCIP_VISUAL *visual, SCIP_SET *set, SCIP_STAT *stat, SCIP_Real lowerbound)
 
void SCIPvisualUpperbound (SCIP_VISUAL *visual, SCIP_SET *set, SCIP_STAT *stat, SCIP_Real upperbound)
 

Function Documentation

◆ SCIPvisualCreate()

SCIP_RETCODE SCIPvisualCreate ( SCIP_VISUAL **  visual,
SCIP_MESSAGEHDLR *  messagehdlr 
)

creates visualization data structure

Parameters
visualpointer to store visualization information
messagehdlrmessage 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
visualpointer 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
visualvisualization information
blkmemblock memory
setglobal SCIP settings
messagehdlrmessage 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
visualvisualization information
setglobal SCIP settings
messagehdlrmessage 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().

◆ SCIPvisualNewChild()

◆ SCIPvisualUpdateChild()

◆ SCIPvisualSolvedNode()

void SCIPvisualSolvedNode ( SCIP_VISUAL *  visual,
SCIP_SET *  set,
SCIP_STAT *  stat,
SCIP_NODE *  node 
)

◆ 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
visualvisualization information
setglobal SCIP settings
statproblem statistics
nodenode, that was cut off
infeasiblewhether 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, SCIPhashmapGetImage(), 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
visualvisualization information
statproblem statistics
nodenode, 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
visualvisualization information
statproblem statistics
nodenode, 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
visualvisualization information
statproblem statistics
nodenode, 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
visualvisualization information
setglobal SCIP settings
statproblem statistics
nodenode where the solution was found, or NULL
bettersolthe solution was better than the previous ones
solsolution 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(), SCIPhashmapGetImage(), 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
visualvisualization information
setglobal SCIP settings
statproblem statistics
lowerboundnew 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
visualvisualization information
setglobal SCIP settings
statproblem statistics
upperboundnew 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().