Для программной реализации алгоритма поиска партнеров для взаимовыгодного взаимодействия в логистической сети был выбран объектно-ориентированный язык Java и среда разработки Eclipse Kepler. Код программы представлен в приложении (Приложение 3).
Для обработки и получения информации из owl файлов в коде использовался язык SPARQL (SPARQL Protocol and RDF Query Language) — язык запросов к данным, представленным по модели RDF, а также протокол для передачи этих запросов и ответов на них. SPARQL является рекомендацией консорциума W3C и одной из технологий семантической паутины.
Принцип работы программы следующий. При запуске программы появляется окошко с предложением загрузить owl файл с моделью бизнес-знаний клиента, а также указать производственный факт.
Предполагается, что путь к файлам остальных компаний — участников сети заранее известен. После подтверждения происходит загрузка данных о компаниях с помощью запросов на языке SPARQL, построение виртуального нагруженного графа и применение модифицированного алгоритма поиска кратчайшего пути. В результате, на экран выводится найденное решение.
Таким образом, решение, найденное вручную, подтвердилось. Для заданного бизнес-кейса наилучшая конфигурация сети предполагает назначение следующих исполнителей для указанных транзакций:
- 1) Транзакция «Получение продукта с основного склада», исполнитель — компания BFGermany,
- 2) Транзакция «Погрузка продукта на товарный грузовик», исполнитель — компания PackEngineeringGMBH,
- 3) Транзакция «Транспортировка», исполнитель — DHL,
- 4) Транзакция «Верификация продукта», исполнитель — MDFGroup.