[Circo] Circo does not optimize edges properly.
Ported Issue from Mantis Original ID: 2552 Reported By: rbong
SEVERITY: MINOR Submitted: 2015-06-08 01:16:24
OS BUILD: 3.19.3-3-ARCH
Circo, as described in the dot manual, produces "Edge crossings within a circle are minimized by placing as many edges on the circle's perimeter as possible." This does not happen with my version of circo. In many simple cases I get the least optimized or close to the least optimized case. I've uploaded an example. This simple layout could be optimized by placing 3 edges on the outer perimeter and one in the center, but instead it places 3 in the center and one on the perimeter.
STEPS TO REPRODUCE
Create a digraph with 5 nodes or more and a circo layout. Connect nodes 3 spaces away (2 nodes inbetween). Render the graph.
Occurs in my system's default package for graphviz, and also for a fresh install of graphviz from source. The confirmation of my interpretation of circo, another example, and a quick solution for anyone suffering this problem can be found in this thread. http://www.graphviz.org/content/new-script-creating-sane-circo-loops