Como reduzir o número de arestas de cruzamento em um diagrama?

Estou trabalhando em um editor de diagrama. Os diagramas exibem formas 2D ( nós ) conectadas com conectores ( arestas ). Gostaria de adicionar uma operação que, dada uma seleção de nós, os "desembaraça" : os reposiciona para reduzir o número de arestas de cruzamento, se possível (e tudo bem se as...