I am trying to visually graph the relationship between components, where there components have a many to many relationship between each other.
If anyone is familiar with the database diagram tool in SQL server management studio or Linq to SQL/Entity framework designers in visual studio, they are very capable of finding a fairly optimal layout to cleanly represent tables in a database and how they relate to each other.
While I'm not trying to represent a database schema, the concept of representing "components" or "items" and their relationships to one another is perfectly analogous. I've tried the springy and cose layouts but they are essentially random and often don't provide optimal positioning of nodes. breadthfirst is a better choice, but nodes are positioned sub optimally, and do not reduce edges crossing each other.