# Алгоритмическое планирование доставки

Распределение заказов по машинам с учётом веса, объёма, временных окон и рабочей смены. Сравнение планов на одном наборе данных.

Отрасль: Транспорт / логистика. Статус: Реализованный проект.

## Задача

Заказы и парк меняются каждый день. Ручной план может выглядеть коротким на карте, но не учитывать грузоподъёмность, время разгрузки или окно клиента. Срочный заказ вынуждает пересобирать распределение.

## Решение

Разработали алгоритмический планировщик: он превращает ограничения в модель маршрутизации, назначает заказы допустимым машинам и рассчитывает стоимость. Диспетчер видит необслуженные заказы и принимает решение, а не получает непрозрачный список адресов.

## Что реализовано

- Учёт массы и объёма грузов
- Окна доставки, разгрузка и длительность смены
- Стоимость пробега и выхода машины
- Добавление срочного заказа
- Сравнение допустимого исходного и улучшенного плана
- Список необслуженных заказов при жёстких ограничениях

## Архитектура

1. Заказы / парк
2. Матрица расстояний
3. OR-Tools / ограничения
4. Маршруты / стоимость
5. Диспетчер

## Технологии

- Python
- Google OR-Tools
- PostgreSQL
- FastAPI
- Картографические данные

## Параметры демонстрации, не результаты заказчика

- заказов в исходном наборе: 50
- машин в модельном парке: 12
- базовая грузоподъёмность: 1,5–4,5 т
- горизонт планирования: 1 день

## Оговорки и достоверность показателей

Это параметры тестового набора, не результаты клиента. Показатели планов рассчитывает OR-Tools при запуске. Карта реальная, но расстояния модельные: по координатам × 1,3, средняя скорость 30 км/ч, без дорожной сети и пробок. Полученный план не предназначен для реального выпуска машин.

## Допустимость прежде красоты

Вес, объём, окна доставки и смена задаются жёсткими ограничениями. Если заказ не помещается в допустимый план, он показывается отдельно, а не скрывается за красивой линией.

## Честное сравнение

Исходный план — первая допустимая конструкция OR-Tools; улучшенный — поиск на тех же заказах, парке и модели стоимости. Проценты не подставлены заранее, глобальный оптимум не гарантируется.

## Решение под контролем

Изменение ограничения запускает новый расчёт. Срочный заказ имеет повышенный приоритет. Диспетчер видит состав маршрута, загрузку и расчётное время прибытия.

## Публичная песочница

Откройте HTML-страницу кейса и раздел «Решение в ваших руках». Интерактивная демонстрация работает на тестовых данных и не раскрывает информацию заказчиков. Демонстрация не создаёт реальные бронирования, платежи или маршруты для выпуска машин.

---

Источник: [Алгоритмическое планирование доставки | Кейс Auxesia](https://auxesia.cc/cases/logistics-optimization).

Дата формирования Markdown: 2026-10-15.

[Навигация для ИИ](https://auxesia.cc/llms.txt) · [Обсудить проект](https://auxesia.cc/contact)
