Google OR-Tools: минимизируйте общее время - PullRequest
1 голос
/ 16 июня 2020

Я работаю над VRPTW и хочу минимизировать общее время (время в пути + время ожидания), накопленное для всех транспортных средств. Итак, если у нас есть 2 машины, одна из которых запускается в момент времени 0 и возвращается в момент времени 50, а другая - в момент времени 25 и возвращается в момент времени 100, то целевое значение будет 50 + 75 = 125. В настоящее время я реализовал следующий код:

    for i in range(data['num_vehicles']):
        routing.AddVariableMinimizedByFinalizer(
            time_dimension.CumulVar(routing.End(i))) 

Однако, похоже, это только минимизирует время, когда мы возвращаемся в депо. Также это приводит к очень большому времени ожидания. Как мне правильно реализовать это в инструментах Google OR?

1 Ответ

2 голосов
/ 16 июня 2020

Это называется диапазоном.

См. Метод SetSpanCostCoefficientForVehicle для одного транспортного средства.

Вы также можете установить его для всех транспортных средств .

...