Основная цель API оптимизации маршрутов — поиск маршрутов с минимальной стоимостью. Поэтому модель стоимости является основным фактором оптимизации маршрутов.
Модель стоимости представляет собой набор свойств, которые определяют глобальные затраты, затраты на транспортировку и доставку.
Свойства модели затрат поддерживают следующие виды целей оптимизации:
- Эффективное распределение транспортных средств и маршрутов
- Экономически эффективные сроки забора и доставки
- Приоритизация критически важных поставок
Структура
Как показано на диаграмме, свойства модели затрат структурированы следующим образом:
-
Shipment
содержится свойствоpenaltyCost
. -
Vehicle
содержит следующие свойства:
В этом документе рассматриваются только основные параметры модели стоимости . Полный набор параметров стоимости см. в справочной документации.
Контрольный список основных вещей
В следующем контрольном списке описаны основные сведения , которые помогут предотвратить потенциальные ошибки, связанные с расходами. Он поможет вам проверить запрос и устранить неполадки в ответе.
Характеристики
В следующей таблице перечислены и описаны свойства модели затрат.
Родитель | Имя объекта недвижимости | Тип недвижимости | Стоимость за | Описание недвижимости |
---|---|---|---|---|
Shipment | penaltyCost | число | Пропущенная отгрузка | Расходы, понесенные в результате пропуска отправки . API пропускает отправку, если стоимость ее выполнения превышает стоимость штрафа.
|
Vehicle | fixedCost | число | Отгрузка | Фиксированная стоимость применяется, если данное транспортное средство используется для перевозки груза. |
costPerHour | число | Час | Стоимость эксплуатации транспортного средства в час, включая время на проезд, ожидание, посещение и перерывы. По мере увеличения этой стоимости оптимизатор пытается найти более быстрые маршруты, которые могут не быть самыми короткими. Это свойство может представлять собой эффективную самостоятельную статью расходов на транспортное средство ввиду его простоты и полноты. | |
costPerKilometer | число | Километр | Стоимость проезда одного километра транспортного средства, например, расходы на топливо и амортизированные расходы на техническое обслуживание транспортного средства. | |
costPerTraveledHour | число | Час | Стоимость эксплуатации транспортного средства в час только в пути , без учёта времени ожидания, посещения и перерывов. Это отдаёт приоритет более быстрым маршрутам перед более короткими. |
Примеры
В этом разделе рассматриваются три типа примеров:
- Примеры кода , иллюстрирующие структуру свойств модели стоимости.
- Пример сценария , демонстрирующий один из способов использования свойств модели затрат для достижения бизнес-цели.
- Пример запроса , включающий значения, заданные в примере сценария.
Примеры кода
В следующем примере кода показана структура свойств модели стоимости в Shipment
:
{ "model": { "shipments": [ ... { "penaltyCost": PENALTY_COST } ], "vehicles": [ ... ] } }
В следующем примере кода показана структура свойств модели стоимости в Vehicle
:
{ "model": { "shipments": [ ... ], "vehicles": [ ... { "fixedCost": FIXED_COST, "costPerKilometer": KILOMETER_COST, "costPerHour": HOUR_COST, "costPerTraveledHour": TRAVELED_HOUR_COST } ] } }
Пример сценария
В этом разделе описывается сценарий, в котором вы являетесь владельцем питомника для собак. Вы оптимизируете маршрут для грузовика, который забирает собак из дома. В этом случае вы хотите, чтобы оптимизатор учитывал расходы, связанные с забором собак и эксплуатацией транспортного средства, при построении маршрута.
В этом примере одна единица стоимости равна 1 доллару. Это означает, что значения свойств модели стоимости в вашем запросе следующие:
Свойство | Ценить | Сценарий |
---|---|---|
penaltyCost | 10 | Представляет собой штраф, который вы предлагаете своим клиентам за то, что они не забирают свою собаку в назначенный день. Если вы не забираете собаку в назначенный день, клиент получает скидку 40 долларов от общей стоимости услуг. |
fixedCost | 30 | Представляет собой ежедневную стоимость платежей по кредиту на покупку автомобиля, которая составляет 30 долларов в день. |
costPerKilometer | 0,08 | Расход топлива показывает, сколько бензина расходует ваш автомобиль на километр. Расход топлива составляет 0,04 галлона на километр, а стоимость галлона в вашем регионе составляет 2 доллара. |
costPerHour | 27 | Показывает, сколько вы платите водителю за управление вашим автомобилем. Вы платите водителю 27 долларов в час. |
costPerTraveledHour | 2.5 | Показывает, сколько вы платите за кондиционер в автомобиле в час для собак в дороге. Когда автомобиль не движется, водитель может открыть задние двери и выключить кондиционер. |
На основе параметров затрат оптимизатор может прийти к компромиссам, которые не очевидны для пользователя, но могут быть найдены посредством оптимизации.
На следующей диаграмме показан пример, в котором оптимизатор может выбрать более длинный, но быстрый маршрут через зеленую пунктирную линию, чтобы избежать движения на пунктирной красной линии.
В этом сценарии баланс затрат двух маршрутов будет следующим:
Зеленая пунктирная линия имеет низкие значения
costPerHour
иcostPerTraveledHour
поскольку это быстрый маршрут, избегающий пробок, что более рентабельно, даже еслиcostPerKilometer
высок.Красная пунктирная линия имеет низкую
costPerKilometer
поскольку это прямой маршрут, ноcostPerHour
иcostPerTraveledHour
слишком высоки из-за времени ожидания в пробках, что делает этот маршрут самым дорогим .
Помимо предоставления экономически эффективных маршрутов, оптимизатор также обеспечивает суммирование общих затрат на маршруты доставки в свойствах ответа .
Запросить пример
В следующем примере показана структура базового запроса optimizeTours
, включающего значения, заданные в примере сценария:
{ "model": { "shipments": [ { "pickups": [ { "arrivalLocation": { "latitude": 37.8024, "longitude": -122.4058 } } ], "deliveries": [ { "arrivalLocation": { "latitude": 37.759773, "longitude": -122.427063 } } ] "penaltyCost": 40 } ], "vehicles": [ { "startLocation": { "latitude": 37.759773, "longitude": -122.427063 }, "endLocation": { "latitude": 37.759773, "longitude": -122.427063 }, "fixedCost": 30, "costPerKilometer": 0.08, "costPerHour": 27, "costPerTraveledHour": 2.5 } ] } }
Свойства ответа
Сообщение OptimizeToursResponse
имеет свойства стоимости, которые описывают затраты, понесенные в процессе завершения маршрута:
-
metrics.costs
: общая стоимость по всем маршрутам, разбитая по полям запроса, связанным со стоимостью. -
metrics.totalCost
: общая стоимость по всем маршрутам.