Программа для оптимизации грузовых перевозок (логистика)
Компания «Игроцентр», занимающаяся продажей игровых приставок, игр и аксессуаров, по мере расширения торговой сети столкнулась с проблемой оптимизации доставок товаров от поставщиков к складам магазинов. Существующие решения требовали значительных затрат, и поэтому наша компания реализовала инструмент, позволяющий спланировать перевозки оптимальным образом.
Общая задача выглядела следующим образом. Имелось:
определенная номенклатура товаров, разбитых по категориям;
несколько поставщиков, каждый из которых поставлял товары определенного ассортимента;
склады различных магазинов, находящиеся в разных местах г. Москвы. У каждого склада имелись статистические данные по спросу определенной номенклатуры товаров;
автопарк, состоящий из автомобилей различной вместимости и грузоподъемности, а также возможность привлекать внешние автомобили;
данные о времени (и стоимости) передвижения автомобилей между каждым поставщиком и складом;
Для заданных данных необходимо было оптимальным образом спланировать загрузку автопарка и проложить маршруты, стараясь при этом минимизировать привлечение стороннего автопарка.
Основная часть разработанного приложения отвечает за ввод или изменение начальных данных.
Интерфейс ввода товаров:
Слева находится окно с категориями продукции, представленными в виде дерева. При выборе определенной категории в основном окне отображается список товаров, принадлежащих этой категории. Товары можно добавлять в одиночном режиме или загружать сразу список из файла (например, формата Excel). Кроме того, есть возможность экспорта товаров (например, для 1-С или просто для создания резервной копии).
Можно выполнить поиск по различным критериям: названию, артикулу, весу/размеру и т.п. Кроме того, список товаров можно вывести на печать, с возможностью гибкой настройки выводимых параметров.
Редактирование данных о поставщиках осуществляется в следующем окне:
Слева находится общий список поставщиков, который можно редактировать. При клике на поставщика в основной области отображается список продукции, которую он может поставлять. Этот список можно редактировать с помощью интерфейса, аналогичному «вводу товаров».
Программа предусматривает возможность загрузки ассортимента для каждого поставщика как в одиночном режиме, так и пакетно – например, с помощью Excel-файла. Кроме того, реализована возможность автоматического добавления товара в общую базу, если у какого-либо поставщика он появился впервые и в базу еще не был внесен.
Интерфейс с настройкой данных об автопарке:
Для каждого грузового автомобиля указывается его марка, стоимость перевозки в час (в которую включается цена за топливо и зарплату водителю), объем грузового отсека и максимальный возможный вес груза. Эти данные впоследствии используются программой расчета для нахождения оптимальной загрузки автопарка.
В программе предусмотрен удобный интерфейс ввода автомобилей в базу данных: при добавлении очередного ТС пользователю автоматически предлагается выбрать его тип из уже существующих. Например, при добавлении нового автомобиля типа «Газель» необязателен ввод всех данных, программа автоматически использует их из уже имеющихся автомобилей такого же типа.
Также для выполнения расчетов необходимо указывать информацию о складах в магазинах:
Для каждого товара задается средний спрос в месяц. При этом в программе предусмотрена возможность задавать сезонный спрос, который может меняться в зависимости от месяца.
Меню для добавления товаров, необходимых складу, аналогично предыдущим.
Для каждого склада задается его удаленность от каждого из поставщиков – это необходимо для возможности расчета стоимости транспортировки товаров:
После ввода всех данных активизируется возможность выполнить расчет оптимальной загрузки автопарка. Данные сохраняются в базе и в любой момент можно изменить входные параметры и заново выполнить расчет. Результаты расчета:
В программе предусмотрен вывод результатов по различным критериям:
По автомобилям - это удобная форма для распечатки и выдачи водителям;
По дням - для просмотра общего графика движения;
По поставщикам – чтобы уведомить их о том, какие товары необходимо подготовить и к какому сроку;
По складам – чтобы сообщить о времени прибытия тех или иных товаров. Результаты выводятся на экран в краткой форме, на печать же выводится полный отчет.
В данном описании приведены лишь некоторые изображения, не отображающие всех возможностей настройки программы. В их числе:
Возможность менять время под погрузку/разгрузку: либо фиксированные значения, либо значения, зависящие от объема продукции;
Возможность учета времени на обед;
Возможность ввода «временного запаса»;
Учет пробок;
Изменение периода расчета – от недели до месяца;
Указание резервных автомобилей.
Кроме того, в будущем планируется перевод программы в клиент-серверный режим, позволяющий поставщикам и складам удаленно просматривать и менять данные через центральный сервер.
По данным заказчика, внедрение подобной системы позволило сократить транспортные расходы более чем на 25%.