Из описанных переменных тяжело вычленить информацию о плотности платы в заданной области и векторе смещения близлежащих компонентов. Разве что самому предусмотреть где могут быть "узкие" места, и заложить в do-файл смещение элементов. Тогда да, итерации типа трассируем, смотрим число конфликтов/число неразведенных цепей, смещаем, трассируем, смотрим то же самое, сравниваем, если лучше опять двигаем, трассируем и т.д. Только по-моему руками легче