Выбор трасс и дорог при построении маршрута с OSRM

Всем привет!

Мы взяли OSRM для построения маршрутов и обнаружили такую неприятную вещь: по умолчанию он прокладывает маршрут например из Смоленска в Нижний Новгород упрямо через центр Москвы. Как ему сказать, что нужно ехать по А-108 или по МКАД?

Можно “пришить” маршрут к нужной трассе дополнительными точками, но это так себе вариант - приходится ставить на кольце их несколько, пока OSRM откажется от идеи ехать мимо Кремля. Для регулярного использования это неудобно. Есть ли какие более разумные способы?

Идеально было бы явно задавать трассу/дорогу, по которой ехать.
Например, Смоленск - Н.Новгород по А-108

Или Москва Питер по М10 (Автоматом упорно ведет на М11)

Вы как-то странно себе представляете работу роутинга. Всё что вы можете, это управлять весом ребра.
https://github.com/Project-OSRM/osrm-backend/blob/master/docs/profiles.md#process_wayprofile-way-result-relations

Графхоппер, к слову, по МКАД прокладывает https://www.openstreetmap.org/directions?engine=graphhopper_car&route=54.839%2C32.003%3B56.280%2C43.879#map=9/55.6776/37.5746

О, уже лучше. Но это не снимает вопроса.
Хотелось бы иметь возможность явно указать дорогу.

Я понимаю, что роутер что умеет, то и делает. То есть, нужна какая-то надстройка над роутером, чтобы учесть пожелания человека. В итоге роутеру надо дать просто набор точек, лежащих на нужной дороге. И наверное, мы не первые с этим сталкиваемся, потому и спрашиваю.

роутер проводит маршрут согласно набору правил (вес ребра в их числе).
соотвественно вам надо настроить правила роутинга под себя - и тогда роутер будет вести как вам нужно.