Обновить
4
0

Пользователь

Отправить сообщение
Основной посыл — если нужно что-то дорисовать на картинке с текстом, то можно привязаться к координатам текста.
Например, есть целевое словосочетание, которое нужно найти в большом отчете, можно прочитать весь текст и ответить на вопрос — есть оно в отчете или нет. Но нагляднее не только ответить на вопрос «есть в тексте», но и показать конкретную страницу (картинку) с выделенным в рамку словосочетанием. Такую картинку/отчет можно показывать руководителю.
Реализация — алгоритм на python, закодили «Алгоритм набора расписания» по картинке в статье. Алгоритм выполняется циклично для всех тороговых агентов и всех дневных расписаний каждого агента. Заполняем расписание агента, корректируем доступные для заполнения следующего расписания точки (убираем точки первого агента), заполняем расписание следующего агента и т.д. пока доступные точки есть.

Как использовали данные — положили их в несколько pandas DataFrame, их не много — БД не стали использовать. Промежуточные данные складывали в списки и DataFrame.
Спасибо.
Метрики дали на хакатоне, главная — количество торговых агентов. Про геометрию — в задании даны адреса торговых точек, по ним можно самостоятельно получить координаты, а уже по ним работать с фигурами (но мы пока не пробовали). Мы использовали только матрицу расстояний от точки до точки.

Попробовали применять случайности — рандомно выбирать первую точку маршрута, плохо помогло.
Попробовали изменять лимит дневного времени ( от 8 часов до 9 часов 40 минут) — это помогло равномерно «утрясти» точки в расписаниях, чтобы не получилось, что все агенты загружены, а последние два съездять всего в пару точек.
Помогло управление критерием «частая точка с большим временем работы» — меняли показатель на сколько она частая (2 — 4 раза в неделю посещение) и как долго в ней нужно работать, т.е. управляли отбором таких точек.

Уменьшить расписание 13 до 12 торговых агентов помогло добавление условия: при заполнении первого рабочего дня очередного торгового агента (ТА) мы смотрим на точки в расписании предыдущего ТА и ищем точки как можно дальше от них. С этих дальних точек начинаем набор нового расписания. Таким образом расставляем расписания ТА по разным концам города. До 11 ТА расписание уменьшить нельзя — в один из дней будет превышено рабочее время сотрудников (даже без учета времени на передвижения между точками), остается только оптимизировать длину маршрутов для 12 ТА.

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность