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 = коэффициент * (Макс (конечное значение измерения) - Мин (начальное значение измерения)).

Другие вопросы по тегам