title: how to optimize layout in graphviz to remove unecessary edges intersections (crossings)?
body: <p>I am preparing the automaitc documentation of DB relations. The tool is graphviz. Problem I have is that the placement of nodes on the output image is not opptimal and there are many unecessary intersection of edges.
  Is there any method to perform optimazation of the graph so the result will have minumum edges intersetction (crossing)?</p>
  
  <pre><code>    digraph structs {
        node [shape=Mrecord];
        overlap="false";
        splines="true";
        layout=sfdp;
        rankdir=LR;
  
        ttype[label="::: ttype :::|&lt;id&gt;id|&lt;table_name&gt;table_name|&lt;type_name&gt;type_name|&lt;synopsis&gt;synopsis"];
        tevents[label="::: tevents :::|&lt;id&gt;id|&lt;id_tcases&gt;id_tcases|&lt;id_ttype&gt;id_ttype|&lt;synopsis&gt;synopsis|&lt;expiredate&gt;expiredate|&lt;open&gt;open"];
        toperationlog[label="::: toperationlog :::|&lt;id&gt;id|&lt;executiondate&gt;executiondate|&lt;executiontime&gt;executiontime|&lt;query&gt;query|&lt;id_tusers&gt;id_tusers"];
        tdocuments[label="::: tdocuments :::|&lt;id&gt;id|&lt;id_tcases&gt;id_tcases|&lt;id_ttype&gt;id_ttype|&lt;path&gt;path|&lt;creationdate&gt;creationdate"];
        tcustomers_cases[label="::: tcustomers_cases :::|&lt;id_tcustomers&gt;id_tcustomers|&lt;id_tcases&gt;id_tcases"];
        tcases[label="::: tcases :::|&lt;id&gt;id|&lt;creationdate&gt;creationdate|&lt;incomingdate&gt;incomingdate|&lt;clousuredate&gt;clousuredate|&lt;synopsis&gt;synopsis|&lt;notes&gt;notes|&lt;id_ttype&gt;id_ttype|&lt;id_tusers&gt;id_tusers"];
        tusers[label="::: tusers :::|&lt;id&gt;id|&lt;username&gt;username|&lt;password&gt;password|&lt;firstname&gt;firstname|&lt;lastname&gt;lastname|&lt;role_id&gt;role_id"];
        tcustomers[label="::: tcustomers :::|&lt;id&gt;id|&lt;firstname&gt;firstname|&lt;lastname&gt;lastname|&lt;email&gt;email|&lt;phone&gt;phone|&lt;mobile&gt;mobile|&lt;address&gt;address"];
  
        tevents:id_tcases -&gt; tcases:id [arrowhead="none"];
        tevents:id_ttype -&gt; ttype:id [arrowhead="none"];
        toperationlog:id_tusers -&gt; tusers:id [arrowhead="none"];
        tdocuments:id_tcases -&gt; tcases:id [arrowhead="none"];
        tdocuments:id_ttype -&gt; ttype:id [arrowhead="none"];
        tcustomers_cases:id_tcustomers -&gt; tcustomers:id [arrowhead="none"];
        tcustomers_cases:id_tcases -&gt; tcases:id [arrowhead="none"];
        tcases:id_ttype -&gt; ttype:id [arrowhead="none"];
        tcases:id_tusers -&gt; tusers:id [arrowhead="none"];
      }
  </code></pre>