SetGlobalSpanCoefficient метод Google или инструменты
Я пытаюсь использовать Google или инструменты для решения проблемы с маршрутизацией транспортного средства. Вот ссылка https://developers.google.com/optimization/routing/vrp. Я пытаюсь использовать код от Google, но когда я сталкиваюсь с этим фрагментом кода:
def add_distance_dimension(routing, distance_callback):
"""Add Global Span constraint"""
distance = 'Distance'
maximum_distance = 3000 # Maximum distance per vehicle.
routing.AddDimension(
distance_callback,
0, # null slack
maximum_distance,
True, # start cumul to zero
distance)
distance_dimension = routing.GetDimensionOrDie(distance)
# Try to minimize the max distance among vehicles.
distance_dimension.SetGlobalSpanCostCoefficient(100)
Я не понимаю смысл последней иструкции
distance_dimension.SetGlobalSpanCostCoefficient(100)
Какова цель этой функции и каков смысл аргумента? Почему там "100"?
0 ответов
Документация, которая может очень хорошо была обновлена, поскольку этим вопрос была опубликована, прописывается значение 100:
Метод
SetGlobalSpanCostCoefficient
устанавливает большой коэффициент (100
) для глобального диапазона маршрутов, который в этом примере является максимальным расстоянием маршрутов. Это делает глобальный интервал преобладающим фактором в целевой функции, поэтому программа минимизирует длину самого длинного маршрута.
В общем (из справочника API) метод
[устанавливает] стоимость, пропорциональную диапазону глобального измерения, то есть разнице между наибольшим значением совокупных переменных конца маршрута и наименьшим значением совокупных переменных начала маршрута. Другими словами: global_span_cost = коэффициент * (Макс (конечное значение измерения) - Мин (начальное значение измерения)).