У меня есть проблема, которая была эффективно уменьшена до проблемы с продавцом с несколькими продавцами. У меня есть список городов для посещения из первоначального местоположения, и вам нужно посетить все города с ограниченным количеством продавцов.
Я пытаюсь придумать эвристику и задаюсь вопросом, может ли кто-нибудь дать руку. Например, если у меня есть 20 городов с 2 продавцами, то подход, который я решил сделать, - это двухэтапный подход. Во-первых, разделить 20 городов вверх случайным образом в 10 городов для 2 продавцов каждый, и я бы нашел тур для каждого, как если бы он был независим для нескольких итераций. Впоследствии я хотел бы обменять или назначить город другому продавцу и найти тур. Фактически, это будет TSP, а затем минимальная проблема с обработкой. Проблема в том, что это было бы слишком медленно, и хорошая генерация окрестностей для обмена или назначения города трудно.
Может кто-нибудь дать совет, как я мог бы улучшить выше?
EDIT:
Геолокация для каждого города известна, и продавцы начинают и заканчивают в тех же местах. Цель состоит в том, чтобы свести к минимуму максимальное время движения, что делает эту проблему минимальной проблемой. Например, если продавец 1 занимает 10 часов, а продавец 2 занимает 20 часов, максимальное время в пути - 20 часов.