Using the Interactive Graph Drawing Software

The Interactive Graph Drawing (IGD) software package is included with SYMPHONY and SYMPHONY facilitates its use through interfaces with the package. The package, which is a Tcl/Tk application, is extremely useful for developing and debugging applications involving graph-based problems. Given display coordinates for each node in the graph, IGD can display support graphs corresponding to fractional solutions with or without edge weights and node labels and weights, as well as other information. Furthermore, the user can interactively modify the graph by, for instance, moving the nodes apart to ``disentangle'' the edges. The user can also interactively enter violated cuts through the IGD interface.

To use IGD, you must have installed PVM since the drawing window runs as a separate application and communicates with the user's routines through message passing. To compile the graph drawing application, type make dg in the SYMPHONY root directory. The user routines in the file user_dg.c can be filled in, but it is not necessary to fill anything in for basic applications.

After compiling dg, the user must write some subroutines that communicate with dg and cause the graph to be drawn. Regrettably, this is currently a little more complicated than it needs to be and is not well documented. However, by looking at the sample application, it should be possible to see how it is done. To enable graph drawing, put the line do_draw_graph 1 into the parameter file or use the -d command line option. It can be difficult to get IGD to work. If you are interested in using it and cannot get it to work, feel free to contact me.

Ted Ralphs
2007-12-21