Я пытаюсь решить простую VRP по вывозу и доставке только для одного автомобиля с помощью or-tools. Я следил за документами https://developers.google.com/optimization/routing/pickup_delivery, и кажется, что все работает, как ожидалось, когда все точки приема и высадки отличаются друг от друга. Массив pickups_deliveries
выглядит так:
data['pickups_deliveries'] = [
[1, 6],
[2, 10],
[4, 3],
[5, 9],
[7, 8],
[15, 11],
[13, 12],
[16, 14],
]
Однако предположим, что есть точки агрегации, где нужно забрать более одной посылки, а у курьера неограниченное пространство. Я пытался изменить приведенный выше пример, чтобы использовать один и тот же индекс получения в нескольких парах получения / доставки:
data['pickups_deliveries'] = [
[1, 6],
[2, 10],
[2, 3],
[2, 9],
[1, 8],
[1, 11],
[2, 12],
[2, 14],
]
Результатом, которого я ожидал, было всего 2 остановки и 8 доставок, но, к сожалению, когда я запускаю решатель, он возвращает None.
solution = routing.SolveWithParameters(search_parameters) # returns None
Есть ли способ обойти это или я упускаю что-то более важное? Я новичок в этой библиотеке, поэтому любые указания были бы очень признательны.