Научная статья на тему 'Разработка структуры и графического интерфейса интерактивной системы маршрутизации'

Разработка структуры и графического интерфейса интерактивной системы маршрутизации Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
350
179
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ИНТЕРАКТИВНАЯ СИСТЕМА МАРШРУТИЗАЦИИ / КОМПЛЕКСНАЯ ЗАДАЧА ТРАНСПОРТНОЙ ЛОГИСТИКИ / MODELVIEW-CONTROLLER / INTERACTIVE ROUTING SYSTEM / THE COMPLEX PROBLEM OF TRANSPORT LOGISTICS / MODEL-VIEW-CONTROLLER

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Подвальный Е. С., Плотников О. А.

Разработана структура и графический интерфейс интерактивной системы маршрутизации для комплексного решения задач транспортной логистики с учетом архитектуры Model-View-Controller (MVC).

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

DEVELOPMENT OF STRUCTURE AND GRAPHICAL INTERFACE OF AN INTERACTIVE ROUTING SYSTEM

The structure and graphical interface of a interactive routing system to solving the complex problem of transport logistics based on Model-View-Controller (MVC) architecture are developed

Текст научной работы на тему «Разработка структуры и графического интерфейса интерактивной системы маршрутизации»

УДК 004.031.42

РАЗРАБОТКА СТРУКТУРЫ И ГРАФИЧЕСКОГО ИНТЕРФЕЙСА ИНТЕРАКТИВНОЙ

СИСТЕМЫ МАРШРУТИЗАЦИИ Е.С. Подвальный, О.А. Плотников

Разработана структура и графический интерфейс интерактивной системы маршрутизации для комплексного решения задач транспортной логистики с учетом архитектуры ММеІ-Уіе^'-СопіїоИег (МУС).

Ключевые слова: интерактивная система маршрутизации, комплексная задача транспортной логистики, Моёе1-Уіе^'-СопіїоІІег

1. Актуальность разработки интерактивной системы маршрутизации

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

Актуальность транспортных проблем вызвана тем, что до 50 % всех затрат на логистику связано с транспортными издержками. Кроме того, транспортная логистика является одним из способов повышения лояльности клиентов. Для эффективного управления транспортной логистикой компании должны работать с надежной информационно-компьютерной поддержкой.

Проблемы поиска оптимального маршрута и оптимальной загрузки транспорта по отдельности на данный момент имеют довольно приемлемые решения, однако комплексное решение этих задач в настоящее время находится на стадии научных поисков.

Как показал патентный поиск по данным Роспатента [2], Патентного ведомства США [4], сети е8раеепе1 [3] и Воронежского патентного центра ЦНТИ в настоящее время не существует ни одного патента, регистрирующего алгоритм или систему, комплексно решающих задачи транспортной логистики. Вследствие того, что при комплексном подходе оптимизация ведется сразу по всем параметрам, результат данной оптимизации оказывается эффективнее. Следовательно, разработка интерактивной системы маршрутизации, решающей комплексную задачу транспортной логистики является актуальной.

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

Подвальный Евгений Семенович - РАНХиГС, д-р техн. наук, профессор, e-mail: [email protected] Плотников Олег Александрович - ВГТУ, аспирант, e-mail: [email protected], тел. (473) 243-77-18

бах доставки, транспортных компаниях и логистических центрах.

2. Анализ входных данных

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

Типичная компания, связанная с распределением грузов занимается получением, хранением и обработкой следующих данных:

- имеет базу клиентов с реквизитами, которых обслуживает компания;

- имеет базу данных автомобилей, находящихся в автопарке компании;

- получает заявки на доставку на обслуживание клиентов;

- работает с картой той местности, в границах которой осуществляется доставка;

- определяет приоритетные критерии оптимизации, по которым осуществляется оптимизация доставки.

Детализируем каждый из указанных пунктов.

1. База клиентов содержит информацию о следующих данных клиентов:

- имя - название организации, служит для идентификации клиентов;

- координаты - местоположение организации клиента, необходимы для отображения на карте;

- адрес, телефон, контактное лицо, почтовый индекс - обеспечивают удобство обслуживания;

- приоритет - служит при выполнении комплексной оптимизации. Выступает критерием, по которому определяется возможность опоздания в точку доставки, очередность обслуживания (например, при нехватке транспорта обслуживаются сначала наиболее приоритетные клиенты).

Указанные данные дают необходимую информацию для проведения комплексной оптимизации, а также выполняют минимальные требования для взаимодействия с клиентом.

Помимо этого, для большей интеграции с деятельностью фирмы, информация о клиентах может быть расширена путем добавления данных о ИНН, КПП, кор/счете, р/счете и других данных компаний клиентов.

2. База данных автомобилей содержит информацию об автопарке компании. Сведения о каждом транспортном средстве содержат набор необходимых характеристик. Рассмотрим их подробнее.

Государственный регистрационный номер

- служит для идентификации автомобиля.

ФИО водителя - применяется при формировании путевых листов.

Грузоподъемность транспортного средства и габариты грузового отделения служат для ограничения по весу и габаритам товаров при проведении комплексной оптимизации.

Максимальная снаряженная масса и габариты транспортного средства учитывают дорожные ограничения при прокладке маршрутов;

Расход топлива на 100 км - служит для расчетов количества топлива необходимого для прохождения запланированного маршрута, а также может быть использовано при оптимизации с приоритетом экономии топлива.

Приведенные характеристики транспортных средств учитывают все ограничения, возможные при проведении комплексной оптимизации, а значит, достаточны.

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

3. Заявки на доставку содержат следующую информацию.

Информация о клиенте (название) - необходима для идентификации клиента.

Приоритет клиента - устанавливается по умолчанию из базы клиентов, но может быть изменен для возможности оперативного управления.

Дата доставки - дата, когда должна быть обслужена заявка;

Время доставки - период времени, в который должна быть осуществлена доставка (опционально).

Список товаров в заявке - наименования и количество товаров. Отметим, что товары должны выбираться из редактируемой базы.

Такой подход обеспечит более быструю работу оператора, а также устранит ошибки связанные с «опечатками».

Информация о каждом товаре должна содержать:

- код - служит для идентификации;

- наименование;

- вес - применяется при оптимизации, вес всех товаров в транспорте не должен превышать грузоподъемность;

- габариты - также необходимы при проведении оптимизации, объем товаров не должен превышать габариты грузового отсека;

- допустимый вес нагрузки - служит ограничением при расположении товаров в несколько рядов при загрузке транспорта;

- время хранения (для быстропортящихся продуктов) - для определения времени доставки.

Рассмотренные данные о заявке дают необходимую информацию для возможности проведения комплексной оптимизации.

4. Разрабатываемая система маршрутизации должна обеспечивать возможность работы с электронными картами и реализовывать функции:

- отображения карты на экране;

- изменения масштаба карты;

- перемещения по карте;

- редактирования картографических данных.

В свою очередь карта содержит базу полилиний (дорог), базу полигонов (домов) и базу точек доставки (клиентов).

Полилинии и полигоны содержат следующие данные:

- имя (название улицы);

- тип - задает начальные ограничения скорости и выступает параметром качества дороги;

- список координат;

- средняя скорость движения в зависимости от времени суток;

- номер слоя до которого отображается элемент - служит при масштабировании карты, т.е. при отдалении отображаются основные дороги и шоссе, при максимальном приближении показываются все дороги.

Кроме того, мы должны иметь список типов полилиний с указанием:

- описания (дорога, шоссе, внутридворо-вый проезд и т.д.);

- ограничения скорости (например, для шоссе 90 км/ч);

- ограничения максимальной массы;

- ограничений габаритов транспортных средств;

- цвет и тип линий для отрисовки.

Типы полигонов содержат только описание и цвет и тип линий для отрисовки.

Точки доставки (клиенты) характеризуются именем и координатами и берутся из базы клиентов.

5. Приоритетные критерии оптимизации.

Доставка точно в срок - данная стратегия оправдана в случае необходимости повышения лояльности клиентов.

Кратчайший путь - при этом обеспечивается минимальный пробег транспортных средств.

Экономия топлива - данная стратегия предназначена для сокращения расходов на топливо;

Минимальное время - при этом обеспечивается минимальное время выполнения заявок.

Указанные критерии охватывают полный спектр приоритетов, которые могут быть полезными в процессе использования интерактивной системы комплексной оптимизации.

Таким образом, проанализированные исходные данные предоставляют полную информацию необходимую для проведения комплексной оптимизации. Однако, этот набор данных может быть расширен для обеспечения большей интеграции с хозяйственной деятельностью компании.

3. Бизнес-логика

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

4. Анализ выходных данных

На основе результата комплексной оптимизации должны быть сформированы:

- маршруты для каждого рейса;

- 3Б модель загрузки транспортного средства для каждого рейса;

- путевые листы, накладные и прочие сопроводительные документы.

Таким образом, для решения поставленных задач целесообразно использовать автоматизированную систему для оптимизации данных по всем параметрам, формированию маршрутов и схем загрузки грузов, а также автоматическому формированию путевых листов

в соответствии с формами утвержденными Госкомстатом России.

5. Разработка структуры интерактивной системы маршрутизации с учетом архитектуры Model-View-Controller

В основу разрабатываемого приложения положим архитектуру Model-view-controller (МУС, «Модель-представление-поведение»,

«Модель-представление-контроллер») — схема использования нескольких шаблонов проектирования, с помощью которых модель данных приложения, пользовательский интерфейс и взаимодействие с пользователем разделены на три отдельных компонента так, что модификация одного из компонентов оказывает минимальное воздействие на остальные. Данная схема проектирования (рис. 1) часто используется для построения архитектурного каркаса.

Рис. 1. Схема архитектуры МУС

Сплошными линиями показаны прямые связи (вызовы методов, присвоение значений полей), прерывистыми линиями показаны косвенные связи (сообщения через события).

Основная цель применения этой концепции состоит в разделении бизнес-логики (модели) от ее визуализации (представления, вида) [1].

Выделим основные блоки разрабатываемой интерактивной системы маршрутизации с учетом архитектуры МУС.

Модель. Содержит в себе базу данных, объединяющую данные о карте (с данными о точках доставки), парке транспортных средств, и список заявок.

Представление, вид. В качестве вида разрабатываемое приложение использует систему

окон, предназначенную для ввода и отображения информации, набор кнопок и меню.

Контроллер. Обеспечивает связь между пользователем и системой: контролирует ввод данных пользователем и использует модель и представление для реализации необходимой реакции. Для реализации контроллера будем использовать достаточно известный аппарат событий (подписка/оповещение). При каждом изменении внутренних данных в модели, модель оповещает все зависящие от неё представления, и представление обновляется. И наоборот при обработке реакции пользователя, вид выбирает в зависимости от нужной реакции контроллер, который обеспечит ту или иную связь с моделью. Плюс такой реализации можно показать на следующем примере. Например, мы выбираем на карте клиента и меняем его атрибуты, вид сообщает модели новые данные, модель обновляется и оповещает об изменениях. На данное событие подписаны отображение карты и информация о клиенте в форме заявки. Получив оповещение, указанные подписчики обновляют соответствующую информацию. Таким образом, какие бы изменения мы не производили в модели или виде, они никак не действуют друг на друга, и если нам надо изменить поведение на реакцию пользователя, достаточно изменить контроллер.

Следствием такой архитектуры, в отличие от других, является максимальная гибкость программного средства.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Еще одним плюсом такого подхода является возможность разработки модулей для системы маршрутизации сторонними разработчиками. Такие модули могут расширять и добавлять функциональность программному средству.

Отметим, что разработка программного средства ведется в среде NetBeans IDE 7.0.1 с использованием NetBens Platform. Данная платформа в совокупности с подходом MVC позволяет разработать надежное, гибкое и расширяемое приложение, в отличие от существующих аналогов систем маршрутизации. Кроме того, программные средства, разработанные с использованием NetBeans являются кроссплатформенными, а поскольку он основан на Swing, поддерживает большее количество платформ и созданное на нем приложение выглядит одинаково на любых операционных системах (Windows, Linux, Mac OS), что исключает проблемы связанные с портированием.

6. Обобщенная структура интерактивной системы маршрутизации

Учитывая и объединив все вышесказанное, проиллюстрируем разработанную структуру на рис. 2. Представленная структура отвечает всем указанным требованиям.

Модель

1. База данных Включаете себя ка р то ц) а ф1 песку ю I шф ормацию, базу кчнентов, базу транспортных qзeдcтв, базу товаров, базу заявок 2. М о дуль ко мпл ексной оптимизации ’задач транспортной логистики.

3. М о дуль па р а метр ов оптимизации 4. Интерфейс взаимодействия с внешними программными Ч)едствами(1С)

Рис. 2. Обобщенная структура интерактивной системы маршрутизации

7. Визуальный маршрутизации

интерфейс системы

Первоначально при разработке визуального интерфейса основные информационные окна (карта, база заявок, база транспортных средств, список рейсов) размещались в отдельных вкладках. Это вызвано тем, что основной процесс сбора заявок происходит в день предшествующий дню их выполнения. Однако на практике данный подход оказался неудобен. Во-первых, необходимо учитывать оперативные данные (отмена заявок, изменение списка товаров в заявке и т.п.), во-вторых, работа на одном экране, на котором располагаются основные окна, более удобна для пользователя. Систему окон в интерактивной системе маршрутизации можно легко настроить “перетаскиванием”, что способствует более удобной работе операторов, в отличие от других существующих систем маршрутизации. Те окна, которые не нужны в данный момент могут быть свернуты и заново открыты при необходимости.

Основная работа оператора системы маршрутизации связана с обработкой заявок,

текущими рейсами и их отображением на карте. Кроме того, для удобства необходим быстрый доступ к деталям рейса, а именно список и очередность посещения точек доставки, информация о клиенте и планируемое время прибытия.

Вследствие этого, оптимальный интерфейс разрабатываемого программного средства отображает на основном экране окно заявок, окно карты, список рейсов и окно детализации рейсов (рис. 3). Вспомогательными окнами являются база транспортных средств и база товаров, вследствие того, что необходимость их редактирования возникает редко, и, следовательно, они вынесены в отдельные окна, которые могут быть открыты из меню окон.

Заявки 40 x Карта .| liJjJllJIfi

1 Открыть |

1 I 1 удалить 1

Рейс Очередь Клиент Прибытие

Рис. З. Визуальный интерфейс основного вида системы маршрутизации

8. Выводы

Таким образом, разработанная структура удовлетворяет всем поставленным требованиям, а также, учитывая следование архитектуре MVC, является гибкой, легко масштабируемой и надежной, что отвечает современным требованиям к программным средствам и отличает ее от аналогов.

Визуальный интерфейс пользователя разработан в соответствии с практической применимостью системы маршрутизации и отвечает поставленным требованиям удобства работы с потоком информации.

Литература

1. Википедия - свободная энциклопедия [Электронный ресурс] — Режим доступа:

http://ru.wikipedia.org/wiki/Model-view-controller, свободный. — Загл. с экрана.

2. Поисковая система Федеральной службы по ин-

теллектуальной собственности, патентам и товарным знакам [Электронный ресурс] - Режим доступа:

http://www.fips.ru/cdfi/fips2009.dll/login, свободный. - Загл. с экрана.

3. Сеть патентной информации esp@cenet, создан-

ная Европейским патентным ведомством [Электронный ресурс] - Режим доступа: http://ru.espacenet.com/

search97cgi/s97_cgi.exe?Action=FormGen&Template=ru/ru/ quick.hts, свободный. - Загл. с экрана.

4. US Patent Full-Text Database Boolean Search

[Электронный ресурс] - Режим доступа:

http:// patft. u spto .gov/n etahtml/PT O/search-b ool. htm l, сво -

бодный. - Загл. с экрана.

Российская академия народного хозяйства и государственной службы при Президенте Российской Федерации

Воронежский государственный технический университет

DEVELOPMENT OF STRUCTURE AND GRAPHICAL INTERFACE OF AN INTERACTIVE ROUTING SYSTEM E.S. Podvalniy, O.A. Plotnikov

The structure and graphical interface of a interactive routing system to solving the complex problem of transport logistics based on Model-View-Controller (MVC) architecture are developed

Key words: interactive routing system, the complex problem of transport logistics, Model-View-Controller

i Надоели баннеры? Вы всегда можете отключить рекламу.