routing_scheduling.md•18 kB
# Маршрутизация и планирование - Примеры использования
## Описание
Задачи маршрутизации и планирования оптимизируют последовательность выполнения операций, построение маршрутов и распределение ресурсов во времени для минимизации затрат и времени.
## Примеры промптов для LLM
### Пример 1: Задача коммивояжера (TSP)
```
Помоги решить задачу коммивояжера с MCP Optimizer.
Торговый представитель должен посетить 8 городов и вернуться в исходную точку:
Города: Москва, Тула, Калуга, Рязань, Владимир, Ярославль, Кострома, Иваново
Матрица расстояний (км):
Мск Тул Кал Ряз Вла Яро Кос Ива
Москва 0 180 160 200 190 270 350 300
Тула 180 0 120 220 280 350 430 380
Калуга 160 120 0 240 250 330 410 360
Рязань 200 220 240 0 120 200 280 230
Владимир 190 280 250 120 0 80 160 110
Ярославль 270 350 330 200 80 0 80 130
Кострома 350 430 410 280 160 80 0 80
Иваново 300 380 360 230 110 130 80 0
Дополнительные условия:
- Начало и конец маршрута в Москве
- Время работы: 8 часов в день
- Средняя скорость: 60 км/ч
- В каждом городе нужно провести 1 час
Найди кратчайший маршрут для объезда всех городов.
```
### Пример 2: Планирование маршрутов доставки (VRP)
```
Используй MCP Optimizer для планирования маршрутов доставки.
Служба доставки имеет:
- 4 грузовика с разной грузоподъемностью
- 15 точек доставки
- Центральный склад
Грузовики:
- Грузовик 1: грузоподъемность 5 тонн, стоимость 2000 руб/день
- Грузовик 2: грузоподъемность 3 тонны, стоимость 1500 руб/день
- Грузовик 3: грузоподъемность 8 тонн, стоимость 3000 руб/день
- Грузовик 4: грузоподъемность 2 тонны, стоимость 1200 руб/день
Точки доставки (вес груза в тоннах):
1. Магазин А: 0.8 тонны
2. Магазин Б: 1.2 тонны
3. Офис В: 0.3 тонны
4. Склад Г: 2.5 тонны
5. Ресторан Д: 0.6 тонны
6. Аптека Е: 0.2 тонны
7. Школа Ж: 0.9 тонны
8. Больница З: 1.1 тонны
9. Завод И: 3.2 тонны
10. Магазин К: 0.7 тонны
11. Офис Л: 0.4 тонны
12. Склад М: 1.8 тонны
13. Кафе Н: 0.5 тонны
14. Спортзал О: 0.6 тонны
15. Библиотека П: 0.3 тонны
Временные окна доставки:
- Утренние (9-12): точки 1,3,5,7,11,15
- Дневные (12-15): точки 2,4,6,8,12,14
- Вечерние (15-18): точки 9,10,13
Ограничения:
- Рабочий день: 8 часов
- Максимальное расстояние для одного грузовика: 200 км
- Обязательный возврат на склад
Минимизируй общие затраты на доставку.
```
### Пример 3: Планирование смен сотрудников
```
Реши задачу планирования смен с MCP Optimizer.
Круглосуточный колл-центр требует покрытия 24/7 с минимальным количеством сотрудников:
Смены:
- Утренняя (8-16): минимум 15 операторов
- Дневная (16-24): минимум 20 операторов
- Ночная (0-8): минимум 8 операторов
Доступные сотрудники (25 человек):
- Полная занятость: 15 человек (могут работать любую смену)
- Частичная занятость: 10 человек (только дневные смены)
Ограничения:
- Максимум 5 смен в неделю на человека
- Минимум 2 дня отдыха подряд
- Нельзя работать две смены подряд
- Ночные смены только для полной занятости
Дополнительные требования:
- В выходные дни увеличить покрытие на 20%
- Опытные операторы (5 человек) должны быть в каждой смене
- Новички (3 человека) не могут работать ночью
Минимизируй количество рабочих часов при обеспечении покрытия.
```
### Пример 4: Планирование производственных заказов
```
Помоги спланировать производственные заказы с MCP Optimizer.
Завод имеет 5 станков и 12 заказов для выполнения:
Станки:
- Станок А: универсальный, 16 часов/день
- Станок Б: токарный, 20 часов/день
- Станок В: фрезерный, 18 часов/день
- Станок Г: сверлильный, 22 часа/день
- Станок Д: шлифовальный, 14 часов/день
Заказы (время выполнения в часах на каждом станке):
А Б В Г Д Срок Приоритет
Заказ 1 8 6 - 4 2 3дня 1
Заказ 2 12 - 10 6 4 5дней 2
Заказ 3 6 4 8 - 3 2дня 1
Заказ 4 - 8 12 10 6 7дней 3
Заказ 5 10 6 - 8 5 4дня 2
Заказ 6 4 - 6 3 2 1день 1
Заказ 7 14 10 16 12 8 10дней 3
Заказ 8 8 6 10 - 4 6дней 2
Заказ 9 - 4 8 6 3 3дня 1
Заказ 10 12 8 - 10 6 8дней 3
Заказ 11 6 - 4 2 1 2дня 1
Заказ 12 10 8 12 8 5 9дней 2
Ограничения:
- Заказы с приоритетом 1 должны быть выполнены в первую очередь
- Некоторые операции нельзя выполнить на определенных станках (-)
- Переналадка станка между заказами: 1 час
- Штраф за просрочку: 1000 руб/день
Минимизируй общее время выполнения и штрафы.
```
### Пример 5: Маршрутизация школьных автобусов
```
Оптимизируй маршруты школьных автобусов с MCP Optimizer.
Школьный округ обслуживает 3 школы и имеет 6 автобусов:
Школы:
- Начальная школа: 450 учеников, время работы 8:00-15:00
- Средняя школа: 600 учеников, время работы 8:30-15:30
- Старшая школа: 800 учеников, время работы 9:00-16:00
Автобусы:
- Автобус 1: 45 мест, депо А
- Автобус 2: 60 мест, депо А
- Автобус 3: 45 мест, депо Б
- Автобус 4: 72 мест, депо Б
- Автобус 5: 45 мест, депо В
- Автобус 6: 60 мест, депо В
Остановки (количество учеников по школам):
Остановка 1: [25, 15, 20] - начальная, средняя, старшая
Остановка 2: [30, 25, 35]
Остановка 3: [20, 30, 25]
Остановка 4: [35, 20, 30]
Остановка 5: [15, 25, 20]
Остановка 6: [25, 35, 40]
Остановка 7: [40, 30, 35]
Остановка 8: [20, 15, 25]
Остановка 9: [30, 40, 45]
Остановка 10: [25, 20, 30]
Ограничения:
- Время в пути до школы: максимум 45 минут
- Автобус может обслуживать только одну школу за рейс
- Необходимо 2 рейса: утром и после школы
- Расстояние между остановками: 5-15 минут
Минимизируй общее время в пути и количество используемых автобусов.
```
### Пример 6: Планирование медицинских процедур
```
Помоги спланировать медицинские процедуры с MCP Optimizer.
Больница имеет 4 операционные и 15 плановых операций на день:
Операционные:
- ОР 1: общая хирургия, 12 часов/день
- ОР 2: кардиохирургия, 10 часов/день
- ОР 3: нейрохирургия, 8 часов/день
- ОР 4: универсальная, 14 часов/день
Операции:
1. Аппендэктомия: 2 часа, ОР 1 или 4, приоритет средний
2. Операция на сердце: 6 часов, только ОР 2, приоритет высокий
3. Удаление опухоли мозга: 8 часов, только ОР 3, приоритет высокий
4. Холецистэктомия: 3 часа, ОР 1 или 4, приоритет низкий
5. Коронарное шунтирование: 5 часов, только ОР 2, приоритет высокий
6. Грыжесечение: 1.5 часа, ОР 1 или 4, приоритет низкий
7. Операция на позвоночнике: 4 часа, ОР 3 или 4, приоритет средний
8. Резекция желудка: 4 часа, ОР 1 или 4, приоритет средний
9. Замена клапана: 7 часов, только ОР 2, приоритет высокий
10. Краниотомия: 6 часов, только ОР 3, приоритет высокий
11. Лапароскопия: 2 часа, ОР 1 или 4, приоритет низкий
12. Стентирование: 3 часа, только ОР 2, приоритет средний
13. Удаление катаракты: 1 час, ОР 4, приоритет низкий
14. Артроскопия: 2.5 часа, ОР 4, приоритет низкий
15. Тонзиллэктомия: 1.5 часа, ОР 1 или 4, приоритет низкий
Ограничения:
- Операции с высоким приоритетом должны быть выполнены в первую очередь
- Между операциями: 30 минут на подготовку
- Некоторые операции требуют специального оборудования
- Рабочий день: 7:00-19:00
Максимизируй количество выполненных операций с учетом приоритетов.
```
### Пример 7: Планирование турниров и соревнований
```
Спланируй расписание турнира с MCP Optimizer.
Футбольная лига проводит чемпионат с 12 командами:
Команды: А, Б, В, Г, Д, Е, Ж, З, И, К, Л, М
Стадионы:
- Стадион 1: вместимость 50,000, аренда 100,000 руб/день
- Стадион 2: вместимость 30,000, аренда 60,000 руб/день
- Стадион 3: вместимость 40,000, аренда 80,000 руб/день
- Стадион 4: вместимость 25,000, аренда 50,000 руб/день
Ограничения:
- Каждая команда играет с каждой 2 раза (дома и в гостях)
- Сезон длится 22 тура (по 6 матчей в туре)
- Матчи проводятся по выходным
- Между домашними матчами команды минимум 2 недели
- Дерби (команды А-Б, В-Г, Д-Е) на больших стадионах
Популярность команд (ожидаемая посещаемость):
А: 45,000, Б: 40,000, В: 35,000, Г: 30,000
Д: 25,000, Е: 20,000, Ж: 18,000, З: 15,000
И: 12,000, К: 10,000, Л: 8,000, М: 6,000
Цена билета: 500 руб (средняя)
Максимизируй доходы от продажи билетов минус аренду стадионов.
```
### Пример 8: Планирование обслуживания оборудования
```
Оптимизируй график обслуживания оборудования с MCP Optimizer.
Производственное предприятие имеет 20 единиц оборудования и 5 сервисных бригад:
Оборудование (часы до планового ТО):
1. Станок А1: 120 часов, критичность высокая
2. Станок А2: 80 часов, критичность средняя
3. Конвейер Б1: 200 часов, критичность высокая
4. Конвейер Б2: 150 часов, критичность высокая
5. Пресс В1: 60 часов, критичность средняя
6. Пресс В2: 90 часов, критичность средняя
7. Печь Г1: 300 часов, критичность высокая
8. Печь Г2: 250 часов, критичность высокая
9. Компрессор Д1: 100 часов, критичность низкая
10. Компрессор Д2: 140 часов, критичность низкая
11. Насос Е1: 50 часов, критичность средняя
12. Насос Е2: 70 часов, критичность средняя
13. Генератор Ж1: 180 часов, критичность высокая
14. Генератор Ж2: 160 часов, критичность высокая
15. Вентилятор З1: 40 часов, критичность низкая
16. Вентилятор З2: 30 часов, критичность низкая
17. Кран И1: 110 часов, критичность средняя
18. Кран И2: 130 часов, критичность средняя
19. Робот К1: 220 часов, критичность высокая
20. Робот К2: 190 часов, критичность высокая
Сервисные бригады:
- Бригада 1: механики, 8 часов/день, 5000 руб/день
- Бригада 2: электрики, 8 часов/день, 6000 руб/день
- Бригада 3: универсальная, 10 часов/день, 7000 руб/день
- Бригада 4: специалисты по роботам, 6 часов/день, 8000 руб/день
- Бригада 5: аварийная, 12 часов/день, 10000 руб/день
Время обслуживания (часы):
- Станки: 4 часа (бригады 1,3)
- Конвейеры: 6 часов (бригады 1,2,3)
- Прессы: 3 часа (бригады 1,3)
- Печи: 8 часов (бригады 2,3)
- Компрессоры: 2 часа (бригады 1,2,3)
- Насосы: 2 часа (бригады 1,2,3)
- Генераторы: 5 часов (бригады 2,3)
- Вентиляторы: 1 час (бригады 1,2,3)
- Краны: 3 часа (бригады 1,3)
- Роботы: 6 часов (бригады 3,4)
Ограничения:
- Критичное оборудование нельзя останавливать одновременно
- Планирование на 4 недели вперед
- Аварийная бригада только для экстренных случаев
- Выходные дни: только аварийные работы
Минимизируй затраты на обслуживание при соблюдении графика ТО.
```
## Структура запроса к MCP Optimizer
```python
# Пример для задачи маршрутизации
result = solve_routing_problem(
locations=["A", "B", "C", "D"],
distance_matrix=[
[0, 10, 15, 20],
[10, 0, 35, 25],
[15, 35, 0, 30],
[20, 25, 30, 0]
],
problem_type="TSP", # или "VRP"
constraints={
"time_windows": [(8, 17), (9, 16), (10, 18), (8, 15)],
"capacity": 100
}
)
```
## Типичные фразы для активации
- "Реши задачу коммивояжера"
- "Оптимизируй маршруты доставки"
- "Спланируй расписание смен"
- "Найди оптимальную последовательность операций"
- "Помоги с планированием ресурсов"
- "Составь график работы"
- "Оптимизируй временные интервалы"
## Применение
Задачи маршрутизации и планирования используются в:
- Логистике и доставке
- Планировании производства
- Управлении персоналом
- Медицинском планировании
- Транспортных системах
- Спортивных турнирах
- Техническом обслуживании