1. A computer-executable process for finding a path for electrically conductive traces to be routed within a routing space, said process comprising: receiving computer readable data comprising parameters defining said routing space, beginning and ending locations for said traces to be routed, design rules for said traces, and at least two obstacles through which said traces may not pass; creating a graph of nodes within said routing space; adjusting a number of nodes of said graph located between pairs of said at least two obstacles; adjusting locations of said nodes of said graph by applying directional forces to said nodes in accordance with locations of said nodes with respect to each other and said at least two obstacles; linking said graph by creating links between pairs of said nodes without creating links that cross; and finding paths for said traces through said linked graph by creating a plurality of path segments between nodes of said linked graph and calculating a routing cost associated with said nodes.