Научная статья на тему 'МЕТОД ОПРЕДЕЛЕНИЯ КРАТЧАЙШЕГО ПУТИ МЕЖДУ ВЕРШИНАМИ ГРАФА ДЛЯ ПОСТРОЕНИЯ ОПТИМАЛЬНОГО МАРШРУТА'

МЕТОД ОПРЕДЕЛЕНИЯ КРАТЧАЙШЕГО ПУТИ МЕЖДУ ВЕРШИНАМИ ГРАФА ДЛЯ ПОСТРОЕНИЯ ОПТИМАЛЬНОГО МАРШРУТА Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
8
0
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
метод определения кратчайшего пути между вершинами графа / оптимальный маршрут / Алгоритм Дейкстры / графы / method for determining the shortest path between the vertices of a graph to build an optimal route between city objects. Dijkstra's algorithm / graphs

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

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

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

METHOD FOR DETERMINING THE SHORTEST PATH BETWEEN THE VERTICES OF A GRAPH FOR CONSTRUCTING AN OPTIMAL ROUTE

In this article, we consider a method for determining the shortest path between the vertices of a graph for constructing an optimal route. Dejkstra's algorithm, graphs.

Текст научной работы на тему «МЕТОД ОПРЕДЕЛЕНИЯ КРАТЧАЙШЕГО ПУТИ МЕЖДУ ВЕРШИНАМИ ГРАФА ДЛЯ ПОСТРОЕНИЯ ОПТИМАЛЬНОГО МАРШРУТА»

Актуальные проблемы авиации и космонавтики - 2021. Том 2

УДК 004.021

МЕТОД ОПРЕДЕЛЕНИЯ КРАТЧАЙШЕГО ПУТИ МЕЖДУ ВЕРШИНАМИ ГРАФА ДЛЯ ПОСТРОЕНИЯ ОПТИМАЛЬНОГО МАРШРУТА

М.С. Ерлыкова Научный руководитель - О.Н. Моргунова

Сибирский государственный университет науки и технологий имени академика М. Ф. Решетнева Российская Федерация, 660037, г. Красноярск, просп. им. газеты «Красноярский рабочий», 31

Е-mail: masha.erlykova@bk.ru

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

Ключевые слова: метод определения кратчайшего пути между вершинами графа, оптимальный маршрут, Алгоритм Дейкстры, графы.

METHOD FOR DETERMINING THE SHORTEST PATH BETWEEN THE VERTICES OF A GRAPH FOR CONSTRUCTING AN OPTIMAL ROUTE

M. S. Erlykova Scietific Supervisor - O.N. Morgunova

Reshetnev Siberian State University of Science and Technology 31, Krasnoyarskii rabochii prospekt, Krasnoyarsk, 660037, Russian Federation Е-mail: masha.erlykova@bk.ru

In this article, we consider a method for determining the shortest path between the vertices of a graph for constructing an optimal route. Dejkstra's algorithm, graphs.

Keywords: method for determining the shortest path between the vertices of a graph to build an optimal route between city objects. Dijkstra's algorithm, graphs.

Процесс поиска кратчайшего пути может осуществляться различными способами. Анализ алгоритмов, применяемых в настоящее время для поиска кратчайших путей между вершинами графа, позволил выявить алгоритмы Флойда-Уоршолла, Дейкстры, Йена и Беллмана-Форда [1]. Все алгоритмы характеризуются разными вычислительными затратами и позволяют решать поставленную задачу, но наиболее эффективным считается алгоритм Дейкстры, предложенный в 1959 году.

Алгоримтм Дейкстры (Dijkstra's algorithm) находит кратчайшее расстояние от одной из вершин графа до всех остальных (если таковые имеются). Алгоритм работает только для графов без рёбер отрицательного веса. Алгоритм широко применяется в программировании.

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

Перед началом выполнения алгоритма все вершины и дуги не отмечены. Каждой вершине в ходе выполнения алгоритма присваивается число дг (.iO равное длине кратчайшего пути, включающего только отмеченные вершины на пути из xt в х}.

Секция «Программные средства и информационные технологии»

Выполняется присвоение начальных значений, для чего необходимо обозначить пометку исходной вершины и считать, что ri(xf) = О.

Отметить постоянной пометкой исходную вершину xt и положить у = где у -последняя из отмеченных вершин. Остальные вершины имеют временные пометки и считать, что для х^ Ф = Алгоритм итерационный. Каждая итерация состоит из

ряда шагов.

Для каждой итерации, в соответствующую строку таблицы заносится отмеченная вершина и текущие значения if(.f j) Для первой итерации будем иметь: у — *1з Г (»J — Для всех вершин, входящих в Г [rj, пометки которых временные, необходимо пересчитать ■в виде:

d(xj = miiitcf^Xii^J ■+ £ (i|,ia)]

Аналогично для ^(г^) Минимальная вершина помечается на каждой итерации. Таким образом, выполнив все итерации, получим окончательно построенное дерево кратчайших путей.

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

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

- язык программирования PHP (7.0);

- СУБД PostgreSQL (9.2);

- сборка web-сервер OSPanel;

- графический клиент для управления PostgreSQL pgAdmin.

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

Библиографические ссылки

1. Майника Э. Алгоритмы оптимизации на сетях и графах. М.: Мир, 1981. 324 с.

2. Новиков.Ф. А. Дискретная математика для программистов. СПб.: Питер, 2000. 304 с.

3. Хаггарти Р. Дискретная математика. М.: Техносфера, 2005. 400 с.

© Ерлыкова М.С., 2021

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