1. Перерывы в указанное время и перерывы в заданных локациях

Добавлен новый тип перерыва — exact_time_range
Перерыв будет запланирован в указанное время независимо от начала смены / начала маршрута / других перерывов. Удобно использовать в тех случаях, когда нам нужно, чтобы водители всегда отдыхали, например, с 17:00 до 18:00. Такой перерыв не может быть повторяющимся. Если маршрут заканчивается раньше, то перерыв не будет вставлен.


Добавлен новый тип локации — rest_place
В таких локации водитель может заехать на отдых. Для того, чтобы они использовались, у перерыва должен быть выставлен параметр
at_rest_place = true

В задаче планирования все перерывы должны быть в локациях rest_place, либо все не в локациях. Смешанный режим не поддерживается.

Пример запроса с перерывом в локации и точным временем перерыва

{
«depots»: [

],
«locations»: [
{
«id»: «rest_place1»,
«type»: «rest_place»,
«time_window»: «09:00-18:00»,
«point»: {
«lat»: 55.750193,
«lon»: 37.817213
}
},

],
«vehicles»: [
{

«rest_schedule_id»: «schedule1»,
}
],
«options»: {

«template_rest_schedules»: [
{
«breaks»: [
{
«rest_duration_s»: 3600,
«exact_time_range»: «14:30-15:30»,
«at_rest_place»: true
}
],
«id»: «schedule1»
}
]
}


  1. Скачать все заказы без координат и удалить их из планирования

При работе с Excel файлами, бывают ситуации, когда не все адреса удалось геокодировать. А найти в исходном файле вручную все проблемные адреса зачастую трудно. С новой функцией «Скачать заказы без координат и удалить их из планирования» можно и запустить решение, временно исключив все неудачные адреса и одновременно получить список таких адресов для их последующей корректировки.

  1. Custom fields интерфейсе РМЛ

Теперь все значения кастомных полей, заданных при планировании можно увидеть:
1. В разделе Карта

2. В отчете «Качество работы курьера»

3. В карточке курьера

  1. Настройка удаленности первого/последнего заказа

Были добавлены опции, позволяющие влиять на выбор первой/последней локации в маршруте.

За это отвечают два параметра
1. first_edges_penalty_factor — дополнительный штраф за первое ребро заезда, безразмерное число
По умолчанию 0, при значании =0 ничего не меняется.
Если >0, то ТС будет начинать обслуживание с локации, которая ближе к складу
Если <0, то ТС будет начинать обслуживание с локации, которая дальше от склада

2. last_edges_penalty_factor — полностью аналогичный параметр для последней локации.
Пример настройки в json
"vehicles": [
{
"id": 1,
"ref": "one",
"tags": ["one"],
"first_edges_penalty_factor": -10,
"last_edges_penalty_factor": 10
},
{
"id": 2,
"ref": "two",
"cost": "distance_km * 100 + 10 * first_edges_distance_km - 10 * last_edges_distance_km",
"tags": ["two"]
}
]

Первая машина должна начинать маршрут дальше от склада, заканчивать ближе, машина без кастомных костов.
Вторая машина наоборот, должна начинать маршрут ближе к складу и заканчивать дальше, машина с кастомными костами.

На этом сегодня все, по всем вопросам пишите на routing-support@yandex-team.ru

Tue Nov 08 2022 13:54:28 GMT+0300 (Moscow Standard Time)