Frequently asked questions

Planning task

How can I get the source task data?

To view the source task data, use a link in the following format: https://courier.yandex.ru/vrs/api/v1/log/request/<task_id>, where

task_id is the ID of the solved task.

How do I geocode addresses for the planning task?

That depends on how you run the planning task. If you run the planning task:

  • Via the API — Process the addresses in Geocoder first.

  • In the interface — The built-in geocoder automatically processes the addresses (to learn more, see the Map subsection in Import window).

Is there a limit on the number of tasks that can be simultaneously launched in Planning?

Yes, there is. By default, you can ran no more than 10 parallel planning tasks with a single access key.

Can I set the planning time manually?

You can view the standard planning time for the Optimal setting in Request processing time. If you need to set further limits, contact support.

I started the planning task. One minute later, I lost my internet connection, and there was a "failed to fetch" error. Do I have to start the planning task again?

No, you don't. Your task is saved under a unique number that you can find in the browser address bar: https://yandex.ru/courier/companies/<company_id>/depots/all/mvrp/<task_id>, where task_id is the ID of the solved task, and company_id is the ID of the company.

To receive the solution, refresh the page where you started the task.

Why do I get "limit exceeded" errors when running planning tasks?

There are two types of limits In the Planning service:

  • By the number of requests per day. If this limit is exceeded, you'll get a "Counter tasks_total_solved limit exceeded" error.

  • By the number of simultaneously processed requests (for example, planning for different cities or depots). If this limit is exceeded, you'll get a "Quota limit exceeded" error.

To increase these quotas, contact your manager or support.

If your business requires running a large number of tasks simultaneously, organize a queue to send a new planning request only after receiving a response to the previous one. See Obtaining results. Estimate the time to process the request.

Planning file

Why doesn't the system accept the parameters from the documentation when loading via Excel?

The Excel file doesn't support some of the parameters yet.

To learn more, follow the links:

Routes

How can I make the routes more grouped?

Use the Grouped routes option.

How can I minimize the total mileage of all vehicles?

Increase the cost.km cost (see Vehicle or courier cost). If you use hard order or shift time windows, try making them soft.

Orders

Why are some orders unassigned?

There are several reasons for that. Most often, it's because of the hard restrictions that the algorithm can't violate.

In some scenarios, this is expected. See Planning orders that can be rescheduled / Planning part of the orders.

To find out the reasons, check out the conditions of the task:

  1. Check the order's penalty.drop value: it shouldn't be too small or set to 0.

  2. Make all order time windows soft.

  3. Remove order tags.

  4. Remove the order load_types.

How can I account for multiple order windows when planning?
Why is there a long waiting time between orders?

To learn about reasons for long waiting times and how to minimize them, see Minimizing waiting time for couriers.

Why do I have to specify the parking and handover times separately?

This way, when orders are combined into multi-orders, the parking time is counted only once, and the handover time is counted based on the number of orders.

If some couriers can't deliver the order, how can I set the restrictions?

Use the Vehicle tags function.

If some orders can't be delivered in the same vehicle, how can I take that into account while planning?

Use the Order incompatibility function.

Couriers

How can I use all the specified couriers and distribute work among them evenly?

The courier workload settings are described in the Planning the loading of your own couriers case.

How do I minimize the number of couriers?

The courier workload settings are described in the Minimizing the number of couriers case.

Can the courier travel part of the way by car and then switch to public transport? Or can they park the car and walk to the delivery points on foot?

No. Within one planning task, you can select only one transportation method for a courier.

A special case is planning tasks in transit mode. Here, the courier uses public transport, gets off, and walks to the delivery point.

How can I take courier working hours into account while planning?

In each planning task, specify the couriers' working hours on a specific day. If the schedules are different on different days, indicate that when creating the API request or preparing the data in Excel.

If you know the orders and courier working hours for the next days, use the Planning orders for multiple days case.

How do I make the couriers start at different times?
How do I make the route end closer to the courier's home address or parking spot?

Add a garage point and specify its ID in the vehicle.finish_at field. The route will end at the specified location.

If you enable returning to the depot at the end of the shift (vehicle.return_to_depot = TRUE), the courier first returns to the depot and then goes to the finish_at point.

To learn more, see Returning to a depot at the end of the working day and Start or end of the route at an arbitrary point.

How can I fit more orders into a shift?

Increase the handling time. It may be too "optimistic". You can also use the Limit the number of stops per shift option.

How do I prioritize my own couriers over the hired ones?

Reduce the cost of using your own vehicles. To learn more, see the Using your own and hired transport at the same time scenario.

Penalties

How do penalties work? I specify the penalties that we use to evaluate the courier or vehicle performance, but this gives poor planning results.

Penalties are used to configure the algorithm. They aren't related to the way you evaluate the cost of logistics.

For recommendations on using penalties, see the logistics scenarios.

Why doesn't the route cost in the column Cost with penalties (units) match the total cost of the solution including penalties?

The total solution cost is calculated by summing the individual route costs with penalties and adding any penalties for violating routing options. For more information, see Cost with penalties.

API integration

I've set up API integration, but I want to edit routes in the Planning interface. How can I get the routes in my system after editing?
How can I view the resulting solution if the task was sent via the API?

There are two options:

  • In the Routing workspace. This option supports editing routes and saving the results. To learn more, see Editing a solution.

  • At https://courier.yandex.ru/mvrp-map#<task_id>, where task_id is the ID of the resulting solution. You can only view the solution with this option, but you can't edit it.

Contact support