Испробовать какие-нибудь алгоритмы глобальной/детальной трассировки (напр. на основе Дейкстры, или А*). Сделать baseline-решение.