vbc2dot.rb is a Ruby-script that generates a .dot-file from SCIP's vbc-file output. Then the program dot is applied to the dot-file to generate a visualization of SCIP's branch-and-bound tree. In SCIP's interactive shell (>= 5.0.1), do set visual vbcfilename filename
and set visual dispsols TRUE
. After you have solved a problem, you can run ruby vbc2dot.rb filename [options]
on the vbc-file generated by SCIP, what will generate a visualization of the branch-and-bound tree of the problem. You will need to have ruby and graphviz installed on your system. Alternatively you could use webgraphviz. This is a sample output of vbc2dot (full tree evolution). Another sample output of vbc2dot (final tree only) based on the problem air04.mps from miplib.
>ruby vbc2dot.rb -h
yields:
Usage: vbc2dot.rb vbcfilename [options]
-r, --rankdir=dirabbr "TB", "LR", "BT", "RL", corresponding to directed graphs drawn from top to bottom, from left to right, from bottom to top, and from right to left, respectively.
-o, --output=filename Name of generated filenames. Postfixes are chosen automatically, default filename is vbcfilename.
-l, --legend Generate a legend in the output files.
-d, --delay=float Wait d seconds until next ps-file is generated (movielike ps observation possible).
-f, --frequency=int Generate output according to frequency.
-t, --probtype=minormax Use option if vbcfile does not contain any information on primal bounds.