Фрилансеры предложат решение вашей задачи уже через несколько минут!

Публикация заказа на фриланс бирже не займет много времени.

5 дней назад
Владимир
24 года, Украина
3 года в сервисе
Был онлайн 1 день назад
8 отзывов
5 дней назад

Нам необходимо автоматизировать процесс распределения пассажиров по автомобилям и поиск оптимального маршрута для встречи клиентов на адресе.

Мы выписали алгоритм действий нашего старшого оператора и отобразили его в простых 8 шагах. В таблицы есть переменные, а есть информация о самих бронях.

Задача:
Создать веб-калькулятор в который мы задаем переменные и загружаем excel файл. Программе необходимо сгруппировать пассажиров по часам и предложить оптимальный маршрут.

Все действия мы наглядно проделали в excel (https://docs.google.com/spreadsheets/d/1MEZwGIs2l7N9kbgj2-Jw8FgySiHuAM4fNevi7rIdxAk/edit?usp=sharing). На выходе надо получить все тоже самое что показано в excel но уже в рамках веб-интерфейса. В конце возможность сохранить уже отформатированную табл. обратно в excel файл.

Переменные данные:
— Время на дорогу, час (Б)
— Время на дорогу, час (Ж)
— Время ожидания на адресе, мин.

Информацию о броне в файле:
— Время прибытия
— Аэропорт
— Терминал
— Пассажиров
— Адрес
— Подъезд

Параметры рассчитываются:
— Время встречи (формула)
— Время в автомобиле по городу (формула)
— Время встречи между первым и последним (формула)
— Время прибытия между первым и последним (формула)
— Количество пассажиров в авто (формула)
— Расстояние между адресами (данные с Google карты)
— Общее время сбора пассажиров (формула)

Алгоритм работы:
1) От время прибытия отнимает время на дорогу.
2) Сортируем время встречи (от меньшего к большему).
3) Суммируем пассажиров в каждом часе (время встречи).
4) Разбиваем на 2 ячейки, если в 1 часе больше 8 пассажиров.
5) Ищем время встречи между первым и последним.
6) Проверяем кто: первый или последний пассажир в маршруте создает задержку.
7) Если первый, то проверяем на наличие мест в авто перед ним. Если последний проверяем места в след. авто.
7) Ищем расстояние между адресами (оптимальный маршрут).
8) Корректируем порядок адресов с учётом времени по городу между адресами.