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

МАТЕМАТИЧЕСКИЙ МЕТОД РАСЧЕТА ЦЕЛЕВОЙ ФУНКЦИИ НА ГРАФАХ И РЕШЕНИЕ ЗАДАЧ МАРШРУТИЗАЦИИ Текст научной статьи по специальности «Математика»

CC BY
77
10
i Надоели баннеры? Вы всегда можете отключить рекламу.
Журнал
Труды МАИ
ВАК
Область наук
Ключевые слова
ГРАФ / РЕПЕРНЫЕ ТОЧКИ / ОПТИМАЛЬНЫЕ ЗАМКНУТЫЕ МАРШРУТЫ / АВТОМОРФИЗМ / ЦЕЛЕВАЯ ФУНКЦИЯ / ГЕНЕТИЧЕСКИЙ АЛГОРИТМ

Аннотация научной статьи по математике, автор научной работы — Аллилуева Наталья Владимировна, Руденко Эдуард Михайлович

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

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

Похожие темы научных работ по математике , автор научной работы — Аллилуева Наталья Владимировна, Руденко Эдуард Михайлович

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

MATHEMATICAL METHOD OF OBJECTIVE FUNCTION CALCULATION AND ROUTING PROBLEMS SOLVING

A lot of tasks of unmanned aviation on observation of the objects, in the most general set up is reduced to route selection between the two benchmarks, which lead to mathematical problem of optimization on the graph. It is assumed herewith that the route is closed and passes through all ribs of the graph. The optimization task on the graph meant for calculating the set of closed routes of minimal length relates to the integer programming problem [1]. The goal of the work consists in solving the optimization problem on the graph leading to obtaining optimal closed routes (OCR). The authors suggest genetic algorithm (GA) as an optimization method. For its implementation the objective function of sevral variables was developed, which simplified significantly the program code and reduced the computation time. The objective function represents the sum of three functions. The first function depends on the edges of the graph, and penalizes edges and loops which do not belong to the graph. The second function depends on the Euler model of the original graph, i. e. the method of the graph reduction to the Euler type by adding multiple edges. The third addend depends on the vertices of the graph and accounts for their multiplicity. The minimum of the objective function is achieved on OCR only. The GA application allows obtain limited quantity of OCRs from a large variety of variants during finite time, which can be reproduced several times by using the group of the graph’s automorphisms. The presence of the OCRs variety allows planning the order of graphs fly-offs afield while solo and group flights, promptly regroup monitoring routes in consecutive and dispersed flight over various ribs and without intersection at vertices.

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

Труды МАИ. Выпуск № 96

http://trudymai.ru/

УДК: 004.898

Математический метод расчета целевой функции на графах и

решение задач маршрутизации

1 * "2* * Аллилуева Н.В. , Руденко Э.М.

1 Научно-производственное предприятие «Радар ммс», ул. Новосельковская, 37,

Санкт-Петербург, 197375, Россия Военная Академия РВСН имени Петра Великого (Филиал г. Серпухов), ул. Бригадная, 17, Серпухов, Московская обл., 142210, Россия *e-mail: allilueva_nv@radar-mms.com **e-mail: eduard5529@yandex.ru

Аннотация

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

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

Введение

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

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

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

исследования. Отправной точкой здесь является теория графов [1].

Граф имеет ребра, соединяющие некоторые пары реперных точек как вершины. Можно считать, что маршрут является замкнутым, то есть начальная точка маршрута совпадает с конечной и проходит через все ребра графа. В качестве начальной и конечной вершины можно взять вершину с номером 1.

Расчет множества замкнутых маршрутов (задача планирования) может быть сведено к оптимизационной задаче поиска замкнутых маршрутов минимальной длины, содержащим все ребра графа. Множество вершин обозначается V, а множество ребер Е. Пара О = (V, Е) называется графом. Вершины обычно нумеруются: V={vi}, ¡=1,...,п. Число n=\V\ называется размером графа. С каждой вершиной V в графе связана величина кратности р(у), равная числу ребер сходящихся в эту вершину, эти ребра называются инцидентными вершине и между собой. Ребра представляются в виде пары вершин еу = (VI, V) Число ребер во множестве Е называется мощностью графа и обозначается \Е\. Маршрут на графе можно представить в виде последовательности соединенных ребрами вершин (инцидентные вершины)

т=(VI, V2,...,Vk+l)=(e1, в2, ...е), (1)

где е1=(у1, v2), е2=(у2, v3),...,eк=(vк, vk+1) - попарно инцидентные ребра, вершина v2 инцидентна ребрам е1 и е2 и т.д. Так как рассматриваются неориентированные графы, то ребра (V,, V) и V,) считаются одинаковыми.

На рисунке 1 показан граф «семь мостов» с кратными ребрами.

1 2 1 --_ 2 1 2 1 2

4 4 4 4

а) б) в) г)

Рис. 1. Граф «семь мостов»: а - исходный граф имеет ребра (1,3) и (3,4) кратности два; б - граф с ребрами (1,2), (1,3) кратности два и ребром (3,4) кратности три; в - граф с ребрами (2,4) и (3,4) кратности два и ребром (1,3) кратности три; г - граф с ребрами (1,3), (2.3) и (3,4) двойной кратности.

Можно проверить, что у графов рисунка 1, б), в) и г) все вершины четные и графы являются эйлеровыми. Фактически здесь показаны разные способы достраивания графа «семь мостов» рисунка 1, а) до эйлерова графа.

Длина маршрута ^т) равна сумме ребер, входящих в маршрут. Для маршрута т={е1, е2,...,ек} длина маршрута равна

й(т) = к. (2)

1 Математическая постановка оптимизационной задачи

Задача планирования маршрутов на связном графе является оптимизационной по нахождению минимума длины й(т) на множестве маршрутов т=(е1, е2,...,ек), которые удовлетворяют условиям: содержат все ребра графа Е^[е1, е2,...,ек}; являются замкнутыми, то есть е1=(у1, у2), ек=(ук, ук+1) и у1=ук+1 (замкнутость); не имеют среди ребер [еи, е12,.,е1з} кратных, то есть множество {е1, е2, ...,ек}\Е,

содержащее повторяющиеся (кратные) ребра не пересекается с наперед заданным множеством ребер графа{е,1, е[2, ...,е^}.

Математическая постановка задачи нахождения множества М={т} оптимальных замкнутых маршрутов (ОЗМ) на графе имеет вид:

M=argmm ^т) т=(е1, е2,...,ек), М={т} (3)

Е£{еь е2,...,ек}, е=(уъ V2), ек=(уъ vk+í), Vl=vк+l {е1, е2,..., ек} \ЕП {еи, е,2, ...,е^}=0. В такой постановке задача (3) относится к задачам на условный экстремум. Условие отсутствия кратных ребер из набора {е,1, е£,...,е^} является актуальным. Например, для графов рисунка 1 требование исключения ребер из кратных

{е!1, еа,...,е^}={(2,3), (2,4)} означает, что задача оптимизации (3) решается на эйлеровом графе рисунка 1, б);

{е{1, е2, ...,ем}={(1,2), (2,3)} означает, что оптимизация по выбору маршрута проводится на эйлеровом графе рисунка 1, в);

{е{1, е{2,...,ей}={(1,2), (1,4), (2,4)} означает, что объектом оптимизации является эйлеров граф рисунка 1, г).

Нетрудно проверить, что множество ОЗМ задачи (3) на графе «семь мостов» имеют длину равную ^(т)=9, так как [3]

1 п

¿(т) = -! р(^).

2 1=1

Это означает, что оптимизационная задача (3) состоит в основном в определении множества ОЗМ М={т}, так как длина (т.е. число ребер) всех ОЗМ

одинакова. Если бы веса ребер совпадали с протяженностью между вершинами (например, в километрах), то и протяженности всех ОЗМ будут одинаковы, так как маршруты ОЗМ отличаются только порядком следования вершин, а множество ребер в них одно и то же.

Например, маршрут m1=(1, 3, 4, 3, 2, 1, 3, 4, 2, 1) является ОЗМ на эйлеровом графе рисунка 1, б), маршрут m2=(1, 2, 4, 3, 1, 3, 2, 4, 3, 1) оптимален на графе рисунка 1, (в), маршрут m3 =(1, 2, 4, 3, 2, 3, 1, 3, 4, 1) оптимален на графе рисунка 1, г).

Задача (3) определения множества ОЗМ не зависит от выбора начальной и конечной вершины vj = vk. Множество ОЗМ для любой вершины графа, выбранной в качестве концевой вершины, не меняется, а просто изменяет форму записи. Это вытекает из преобразования ураз, которое приводит к тому же ОЗМ, но с другими концевыми точками. Например, для преобразования ураз,4 имеем:

jpa3,4(m1)=jpa3,4(1, 3, 4, 3, 2, 1, 3, 4, 2, 1>Щаз,л{{1, 3, 4), (4, 3, 2, 1, 3, 4, 2, 1))=

=((4, 3, 2, 1, 3, 4, 2, 1), (1, 3, 4))=(4, 3, 2, 1, 3, 4, 2, 1, 3, 4). Перечислить все ОЗМ для графа «семь мостов» является комбинаторной задачей по перебору компонент набора m=(xj, Х2, Хз, Х4, Х5, Хб, Xj, Xg, Х9, Xjo) в целочисленном множестве {1, 2, 3, 4}. Количество вариантов перебора компонент вектора m равно 410=1048576, но не все из наборов являются ОЗМ.

Оптимизационная задача (3) имеет множество решений и относится к разделу целочисленного программирования [2]. Для ее решения может быть применен метод генетического алгоритма (ГА) [3,4]. ГА реализован в пакете Matlab в модуле «Genetic Algorithm Tool» и он применим для оптимизации функций произвольной

природы. Он позволяет также учитывать ограничения ЬБ, ив, накладываемые на изменение ее аргументов: ЬБ=1< Х1 <, 4=иБ, ¡= 1,...,10.

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

2 Алгоритм построения целевой функции

Алгоритм построения целевой функции основан на вычислении функции нескольких переменных Z(m)=Z(х1, х2, х3, х4, х5, х6, х7, х8, х9, х10), состоящей из суммы функций, заданных на ребрах и на вершинах графа.

Функция, заданная на ребрах, реализует принцип штрафования ребер, не принадлежащих графу, но которые могут быть сгенерированы ГА.

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

Следует отметить, что информация о ребрах графа с учетом кратности содержится в матрице смежности [1,2]. Для применения ГА удобнее построить специальную функцию, которая будет содержать информацию о ребрах графа и о не ребрах графа. Например, ребро (1,4) не принадлежит графам рисунка 1, б) и в), а также о петлях (1,1), (2,2), (3,3), (4,4), но которые могут быть сгенерированы ГА.

Кроме того для задачи условной оптимизации (3) необходимо описать

математический вид функции й(т) и всех ограничений: E^{e1, е2,.,е^}, v1=vk+1, {е1, е2,...,еь} ^^{еи, е2, ...,е{!!}=0 Для этих целей и строится целевая функция.

Алгоритм расчета целевой функции рассмотрим для случая графа «семь мостов» и включает в себя следующие пункты:

2.1 Построение функции заданной на ребрах графа

Определяется множество А разрешенных или допустимых для облета БПЛА ребер на графе реперных точек на местности. Для графа «семь мостов» рисунок 1, а) это ребра: (1,2), (1,3), (2,3), (2,4) и (3,4). На ребрах множества А целевая функция должна принимать значение равное весу 1.

Применение ГА в качестве средства оптимизации может привести к появлению недопустимых петель при вершинах, то есть появление пар (1,1), (2,2), (3,3), (4,4). Целевая функция на петлях должна принимать значения больше веса 1, чем на допустимых ребрах, например, значение 2.

Если при мониторинге графа реперных точек на местности не допускается перелет между точками с номерами 1 и 4, минуя точку 3, то в состав маршрутов БПЛА не входит ребро (1,4). Это означает, что все маршруты прокладываются на эйлеровых графах рисунка 1, б) или в). В этом случае ребро (1,4) относится к множеству запрещенных или недопустимых ребер и на нем целевая функция должна принимать также значение 2.

Множество запрещенных ребер и петель (1,1), (2,2), (3,3), (4,4), (1,4) образуют множество В.

Определив разрешенные ребра (множество А) и запрещенные петли и ребра

(множество В) для построения целевой функции необходимо разделить множества А и В. Для этого подбирается симметричная функция от двух переменных f(x,y), множество значений которой S=f(A) и P=fB) не пересекаются: f(A)^f(B)=S^P=0.

В качестве такой функции возьмем, например, f(x,y)=2xy-(x+y). Эта функция симметрична fx,y)=fy,x), так как она должна принимать одинаковые значения на ребрах (х,у)=(у,х) неориентированного графа.

Отсюда S={1, 2, 7, 10, 17}; Р={0, 3, 4, 12, 24} и PHS=0.

Для построения целевой функции на ребрах подберем интерполяционную функцию, которая на области значений допустимых ребер f (А) переходит в 1, на области значений запрещенных петель и ребер fВ) принимает значение 2 (это значение штрафа).

Исходными данными для построения интерполяции являются два вектора: X=SUP=[1, 2, 7, 10, 17, 0, 3, 4, 12, 24] и Y=[ones(1,length( S)), ones (1, length( P))+1] =[1, 1, 1, 1, 1, 2, 2, 2, 2, 2].

Используя кубическую сплайн-интерполяцию interp1 из пакета Matlab [3,4], получим множество значений функции: y = interp1(X, Y,x,'spline') при изменении x =0:max(X). График приведен на рисунке 2, а).

Для графа рисунка 1, г) ребро (1,4) является допустимым и множество S={1,2,3,7,10,17}; Р={0,4,12,24} и PHS=0.

График интерполяционной функции приведен на рисунке 2, б).

а) б)

Рис.2. График кубической сплайн-интерполяции т1егр1: а - для графа с ребром (1,4) £ А; б - для графа с ребром (1,4) £ А

Суперпозиция интерполяции и разделяющей функции т1егр1(/(х,у)) на разрешенных ребрах (х,у) принимает значение 1, а на петлях (х,х) и запрещенных ребрах значение 2.

Это позволяет построить функцию по формуле

9

^(т) = г1(х1,х2,...,х10) = £ ^грЩх^х^)), (4)

1=1

для которой достигается минимум на ОЗМ: шх^1(ш)=9, так как т1егр1(/ (х,у))>1. Можно проверить, что на маршрутах т1у т2 и т3 функция (4) принимает значение 9. Значение 9 может быть достигнуто и на наборе т0=(1, 2, 1, 2, 1, 2, 1, 2, 1, 2), так как ребро (1,2) входит в граф, но этот набор не является ОЗМ, так как не проходит по всем ребрам.

Для отфильтрования ОЗМ от наборов типа Шо, но которые могут быть сгенерированы ГА, необходимо к функции (4) добавить функцию, которая

учитывает прохождение маршрута по всем ребрам графа а, следовательно, и по всем вершинам. Количество ребер графа с учетом кратности зависит от МЭГ.

Заметим, что в качестве интерполяции на множестве Х^иР может быть

9 9 9 9 9

рассмотрен многочлен Ди)=1+с^(и-1) (и-2) (и-7) (и-10) (и-17) , (с>0), который только на множестве ие£={1, 2, 7, 10, 17} принимает значение 1, а при всех

остальных значениях аргумента и больше 1(и)>1. В качестве разделяющей функции

2 2

/(х,у) могут быть взяты функции /(х,у)=лу; Дх,у)=(л+у) ; /(.х,у)=(х-у) , так как эти функции симметричны и их графики /(.х,у)=п проходят либо через точки на плоскости множества А, либо множества В, что легко можно проверить.

2.2 Построение функции модели эйлерова графа (МЭГ)

Из рисунка 1 следует, что граф может быть достроен до эйлерова графа различными способами. Если, исходя из тактических требований задачи мониторинга БПЛА графа реперных точек на местности, выбрана МЭГ рисунка 1, б) то, опираясь на геометрию графа и на нумерацию его вершин, получим, что ОЗМ (в частности и маршрут т¡) удовлетворяют соотношению

9

Х2б (т) = 22б ^ = ^ Х ' _ 60 = 0 . (5)

Если рассмотреть МЭГ рисунка 1, в), то ОЗМ удовлетворяют

9

^2в (т) = ^2в (Х1> Х2 Х1о) = Х Х ' Х+1 " 57 = 0 . (6)

I=1

В частности функция Z2в(m) на маршруте т2 обращается в нуль. Для МЭГ рисунка 1, г) ОЗМ будут обращать в нуль функцию

г2г(т) = Z2г^^х10) = Хxi • Х+1 - 56 = 0. (7)

г =1

Можно проверить, что функция Z2г(m) на маршруте т3 равна нулю. Как следует из сравнения выражений (5), (6) и (7) разных МЭГ рисунка 1, б), в) и г) формулы не совпадают. Выражения (5), (6) и (7) описывает циклическую (круговую) сумму произведений номеров вершин замкнутого маршрута и не зависят от номера начальной и конечной вершины и являются инвариантами МЭГ.

При полете БПЛА по маршрутам МЭГ рисунка 1, б) и в) одновременно, то их ОЗМ обращают в нуль произведение функций (5) и (6)

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

9 9

гбв (т) = (т) • 22в (т) = (£ x1 • хг+1 - 60) • (£ • хг+1 - 57) = 0 . (8)

г=1 г =1

Оказывается одновременное выполнение обоих выражений (4) и (5) (или (4) и

(6), или (4) и (8), или (4) и (7)) не позволяет отсеять только ОЗМ. Это подтверждают численные эксперименты.

Вид функций (5), (6), (7) выбран из простоты их аналитической записи и вытекает, как это было отмечено в предыдущем пункте, из того факта, что график разделяющей функции /(х,у)=ху=п проходит при одних п по точкам плоскости

множества А, а при других п по точка множества В. Если в качестве разделяющей

2 2

функции выбрать, например, Дх,у)=(х+у) или Дх,у)=(х-у) , то вид функций (5), (6),

2 2

(7) будет состоять из слагаемых (х+у) или (х-у) . Константы в выражениях (5), (6), (7) в этих случаях будут также другие.

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

2.3 Построение функций вершин графа

Рассмотрим следующее выражение, справедливость которого для ОЗМ МЭГ рисунка 1, б), в) и г) легко проверяется на маршрутах т¡, т2 и т3

10

2 зб (т) = 2зв (т) = 2зг (т) = X Х1 _ 24 = 0. (9)

I=1

Здесь константа 24 получается по правилу 24=3^(1+3)+2^(2+4), которое следует из закономерности повторяемости в ОЗМ номеров вершин. Повторяемость номеров 1, 2, 3 и 4 равна половине кратности вершин и учету того, что маршрут начинается и заканчивается в вершине с номером 1.

Константа, входящая в функцию (9), зависит от нумерации вершин графа.

В качестве функции вершин графа подойдет также сумма к-степеней хк.

2.4 Составление целевой функции графа

Для ОЗМ МЭГ рисунка 1, б), в) и г) целевые функции равны сумме 3-х слагаемых соответствующих целевых функций ребер, МЭГ и вершин

2(т) = 21 (т) + аЪ8(22 (т)) + аЪ8(23 (т)). (10)

Проверка на маршрутах т¡, т2 и т3 показывает, функция Z(m)=9=d(m). Если рассматривать неотрицательную функцию

2 (т) = аЪз ((2 (т) - d (т))) + аЪ8(22 (т)) + аЪз(23 (т)), (11)

то на ОЗМ она будет равна нулю и это будет ее минимальным значением.

Минимизация одной функции (11) сводит задачу на условный экстремум (3) к

задаче на безусловный экстремум и значительно упрощает решение ее методом ГА.

Здесь каждое слагаемое берется по абсолютной величине, так как численный эксперимент показывает, что ГА генерирует такие наборы, которые не являются ОЗМ, но при этом одни слагаемые суммы (11) отрицательные, а другие положительные и в сумме могут дать нуль.

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

Функция Z1(m) состоит из слагаемых, которые только на ребрах графа принимают значение 1, а на не ребрах принимает значение 2 или иное большее 1. Это означает, что при значении Z1(m)=9 отобрано 9 ребер графа, но среди них могут быть не все ребра графа, а много повторяющихся (кратных). Второе слагаемое Z2(m) отвечает за набор ребер, и с какой кратностью входят в ОЗМ МЭГ. Но за счет того, что ГА может сгенерировать набор тг= (1, 3, 2, 3, 2, 3, 2, 4, 3, 1), который не содержит все ребра графа рисунка 1, г), а именно ребро (1,4), но Z1(mг)=9, Z2(mг)=56. Последнее соответствует выражению (7). Отсюда следует, что двух слагаемых Z1(m)

о

и Z2(m) недостаточно для отбора ОЗМ из возможных вариантов 48=65536, так как начальная и конечная вершина имеют номер 1. Поэтому добавляется третье слагаемое Z3(m), которое устанавливает, сколько раз должны повторяться номера вершин в ОЗМ. При проверке соотношения (9) для mг тоже получим 24, хотя тг не ОЗМ. Как видно это следствие большого числа одинаковых номеров в ОЗМ или, что, то же самое, большого числа кратных ребер в графе рисунка 1, г). В качестве Z3(m) надо использовать выражение

Zзб (m) = Z3e (m) = Z32 (m) = Z x2 " 70 = 0. (12)

г=1

Функция (12) однозначно устанавливает вложение графа в МЭГ.

Таким образом, задача расчета ОЗМ на графе является нелинейной и для ее осуществления в реальном полете потребуется средства технической реализации [6,7,8]. Важным моментом в полете по маркерам на местности является комплексирование навигационного оборудования и технического зрения [9,10].

3 Применение целевой функции графа для расчета ОЗМ методом ГА

При решении оптимизационной задачи (3) с использованием целевой функции (11) методом перебор на компьютере с частотой 3,4 Ггц за 80,0 секунды получить 32 ОЗМ для графа рисунка 1, б). За 112,9 секунды можно подсчитать 32 ОЗМ для графа рисунка 1, в), а за время 239,9 секунд для графа рисунка 1, г) находятся 104 ОЗМ.

Методом ГА для совмещенной МЭГ рисунка 1, б), в) с функцией (11) получаются 5 различных ОЗМ при изменяемом значении фактора кроссовера в интервале 0,1:0,1:0,9 за время 8,6 сек при условиях 'Generations', 10,'PopulationSize',10. График сходимости ГА приведен на рисунке 3.

Рис.3. Пространственный график сходимости целевой функции fval=Zбg(m)

На рисунке 3 разными цветами показаны графики изменение номеров вершин маршрута от 1 до 4 в зависимости от фактора кроссовера и значения функции Ъбв. Результаты расчета ОЗМ приведены в таблице 1.

Таблица 1

Результаты расчета ОЗМ на графе «семь мостов»

№ Фактор Оптимальные Номера Значение Тип

п/п кроссо- замкнутые маршруты различных функции МЭГ

вера п ОЗМ ^а1=7б«(ш)

1 0,1 (1, 2, 3, 4, 3, 1, 3, 4, 2, 1) 1 0 б;

2 0,2 (1, 2, 4, 3, 4, 3, 1, 3, 2, 1) 2 0 б;

3 0,3 (1, 2, 4, 3, 1, 3, 4, 3, 2, 1) 3 0 б;

4 0,4 (1, 3, 1, 3, 4, 3, 2, 4, 2, 1) 4 0 в;

5 0,5 (1, 2, 3, 4, 3, 1, 4, 3, 2, 1) - 3 -

6 0,6 (1, 2, 3, 1, 3, 4, 3, 4, 2, 1) 5 0 б;

7 0,7 (1, 2, 3, 1, 3, 4, 3, 4, 2, 1) 5 0 б;

8 0,8 (1, 2, 3, 4, 3, 1, 3, 4, 2, 1) 1 0 б;

9 0,9 (1, 2, 3, 4, 3, 1, 3, 4, 2, 1) 1 0 б;

В пятом маршруте таблицы 1 выделено ребро (1,4), которое не входит в состав

МЭГ рисунка 1, б) и в), и поэтому целевая функция (11) принимает значение 3. Среди найденных маршрутов всего 5 различных ОЗМ.

Из геометрии графа рисунок 1, а) следует, что он обладает осью симметрии, проходящей по ребру (2,3). Это означает, что существует автоморфизм графа, переставляющий вершины

/1 Л 1 Л

(13)

2 3 4Л

Уавт

к4 2 3 4J

Можно проверить, что для математического графа на рисунке 1 других осей симметрии и автоморфизмов нет.

Преобразования ураз, уавт, уобр (прохождение маршрута в обратном порядке) позволяют размножить 5 ОЗМ таблицы 1 в 34 различных ОЗМ (таблица 2).

Таблица 2

Результаты расчета ОЗМ на графе «семь мостов» МЭГ рисунка 1, б) и в) с помощью автоморфизма уавт и преобразований ураз и усбр

№ т Тип МЭГ № Уобр(т) Тип МЭГ

1 2 3 4 5 6

1 (1, 2, 3, 4, 2, 4, 3, 1, 3, 1) в; 18 (1, 3, 1, 3, 4, 2, 4, 3, 2, 1) в;

2 (1, 3, 2, 4, 3, 1, 2, 4, 3, 1) в; 19 (1, 3, 4, 2, 1,3, 4, 2, 3, 1) в;

3 (1, 3, 1, 2, 4, 2, 3, 4, 3, 1) в; 20 (1, 3, 4, 3, 2, 4, 2, 1, 3, 1) в;

4 (1, 3, 4, 3, 1, 3, 2, 4, 2, 1) в; 21 (1, 2, 4, 2, 3, 1, 3, 4, 3, 1) в;

5 (1, 2, 4, 3, 1,3, 2, 4, 3, 1) в; 22 (1, 3, 4, 2, 3, 1, 3, 4, 2, 1) в;

6 (1, 3, 4, 3, 1, 2, 4, 2, 3, 1) в; 23 (1, 3, 2, 4, 2, 1, 3, 4, 3, 1) в;

7 (1, 3, 1, 2, 3, 4, 2, 4, 3, 1) в; 24 (1, 3, 4, 2, 4, 3, 2, 1, 3, 1) в;

8 (1, 3, 1, 3, 4, 3, 2, 4, 2, 1) в; 25 (1, 2, 4, 2, 3, 4, 3, 1, 3, 1) в;

9 (1, 2, 1, 3, 4, 3, 4, 2, 3, 1) б; 26 (1, 3, 2, 4, 3, 4, 3, 1, 2, 1) б;

10 (1, 2, 3, 1, 3, 4, 3, 4, 2, 1) б; 27 (1, 2, 4, 3, 4, 3, 1, 3, 2, 1) б;

Продолжение таблицы 2

1 2 3 4 5 6

11 (1, 2, 4, 3, 1,3, 4, 3, 2, 1) б; 28 (1, 2, 3, 4, 3, 1, 3, 4, 2, 1) б;

12 (1, 3, 4, 2, 1,3, 4, 3, 2, 1) б; 29 (1, 2, 3, 4, 3, 1, 2, 4, 3, 1) б;

13 (1, 3, 4, 3, 4, 2, 3, 1, 2, 1) б; 30 (1, 2, 1, 3, 2, 4, 3, 4, 3, 1) б;

14 (1, 2, 4, 3, 4, 3, 1, 3, 2, 1) б; 31 (1, 2, 3, 1, 3, 4, 3, 4, 2, 1) б;

15 (1, 3, 4, 3, 2, 1, 2, 4, 3, 1) б; 32 (1, 3, 4, 2, 1, 2, 3, 4, 3, 1) б;

16 (1, 3, 4, 3, 2, 1, 3, 4, 2, 1) б; 33 (1, 2, 4, 3, 1, 2, 3, 4, 3, 1) б;

17 (1, 3, 4, 3, 4, 2, 1, 2, 3, 1) б; 34 (1, 3, 2, 1, 2, 4, 3, 4, 3, 1) б;

Автоморфизм (13) переставляет типы МЭГ рисунка 1, б) и в).

4 Решение задач маршрутизации в групповом полете БПЛА

Проблеме совместного полета в группе в настоящее время уделяется большое значение в отечественной литературе [11,12] и за рубежом [13]. Доминирующие концепции для совместного полета группы две: централизованного [14,15], и децентрализованного управления [16,17,18]. В данной статье обсуждается применение множества ОЗМ в централизованном полете.

При наличии нескольких ОЗМ возникают различные варианты планирования полета БПЛА как в одиночном и так в групповом полете на графе реперных точек. Предположение о равенстве времени прохождения ребер графа «семь мостов» позволяет планировать совместный полет нескольким БПЛА.

ОЗМ №1 из таблицы 2 позволяет двум БПЛА организовать полет с интервалом в одно ребро без встречи в вершинах графа (схема 1).

Схема 1. Полет группы БПЛА с интервалом одно ребро

Номер столбца 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

1-й БПЛА 1 2 3 4 2 4 3 1 3 1| 2 3 4 2 4

2-й БПЛА 1 2 3 4 2 4 3 1 3 1| 2 3 4 2

3-й БПЛА 1 2 1 3| 2 4 2| 4 3 1| 2 1 3|

В схеме 1 спланирован полет 3-х БПЛА без встречи в вершинах графа. 1-й и 2-й БПЛА летят по ОЗМ №1 из таблицы 2. На выделенных ребрах встречаются два БПЛА. 3-й БПЛА летит по составному маршруту.

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

В каждом столбце номера вершин разные, но на выделенных ребрах (2,4) и (1,3) БПЛА летят навстречу друг другу. Разделитель | показывает, где сшиваются одинаковые маршруты.

Для обеспечения безопасности и скрытности мониторинга местности может быть применен рассредоточенный порядок полета группы БПЛА. Так ОЗМ №28 позволяет организовать полет 3-х БПЛА с интервалом в три ребра без встречи в вершинах. Это представлено ниже на схеме 2.

Схеме 2. Рассредоточенный полет группы БПЛА с интервалом три ребра

Номер столбца 1 2 3 4 5 6 7 8 9 10 11 12 13

1 БПЛА 1 2 3 4 3 1 3 4 2 1| 2 3 4

2 БПЛА 1 2 3 4 3 1 3 4 2 1|

3 БПЛА 1 2 3 4 3 1 3

4 БПЛА 2 1 4 2

Первые три БПЛА реализуют ОЗМ №28 из таблицы 2. БПЛА №4 летит по

запрещенному ребру (1,4). Полет спланирован без встречи в вершинах графа. На выделенных ребрах встречаются два БПЛА. Эта схема показывает, что в каждом столбце номера вершин разные. Предположение о возможности полета 4-го БПЛА приводит к полету по неразрешенному ребру (1,4) для эйлеровых графов рисунка 1, б) и в), но оно допустимо для графа рисунка 1, г). Маршрут четвертого БПЛА в схеме №2 не является ОЗМ на графе рисунка 1, г).

При применении к схеме 2 полета 4-х БПЛА автоморфизма (13) происходит изменение маршрутов всей группы БПЛА. Это следует из того, что автоморфизм переставляет номера вершин в маршрутах и тем самым номера ОЗМ в таблице 2.

Например, у^^) = уавм(1, 2, 3, 4, 3, 1, 3, 4, 2, 1) = (4, 2, 3, 1. 3, 4, 3, 1, 2, 4) ^ уразД (4, 2, 3, 1. 3, 4, 3, 1, 2, 4) = (1. 3, 4, 3, 1, 2, 4, 2, 3, 1) = Шб

Планирование полета с одновременным изменением ОЗМ в столбце №10 показано на схеме 3, на которой рассматривается полет группы из схемы 2.

Схема 3. Одновременное изменение маршрута группы БПЛА в вершине графа

при применении автоморфизма у,

Номер столбца 1 2 3 4 5 6 7 8 9 10 11 12 13

1 БПЛА 1 2 3 4 3 1 3 4 2 1| 2 3| 1

2 БПЛА 1 2 3 4 3| 1 3 1 2 4

3 БПЛА 1 2 3 4 3| 4 3

4 БПЛА 2 4 1| 2

При нахождении группы в вершинах 10-го столбца все маршруты

подвергаются преобразованию уавт из (13). Первые три БПЛА до 10-го столбца реализуют ОЗМ №28 из табл.2. После 10 столбца при действии автоморфизма ОЗМ №28 переходит в ОЗМ №6. 4-й БПЛА изменяет маршрут на противоположный и летит по запрещенному ребру (1,4). Полет спланирован без встречи в вершинах графа. На ребрах (1,3), (2,4) БПЛА встречаются. Если геометрия графа допускает несколько автоморфизмов, то вариантов изменения маршрутов в схемах совместного полета будет больше. Подобный подход справедлив для слежения за подвижными объектами, составляющими граф на местности.

5 Планирование облета подвижных объектов при изменении геометрии графа реперных точек на местности

Универсальная модель графа и алгоритм построения целевой функции для расчета ОЗМ позволяет планировать облет подвижных объектов при изменении геометрии графа. Для задачи мониторинга подвижных объектов это может соответствовать случаю разделения объектов наблюдения на несколько. Расчет ОЗМ с помощью целевой функции может быть применен для случая изменения числа вершин графа, как в сторону уменьшения, так и увеличения. Для анализа закономерностей при изменении геометрии графа рассмотрим случай добавление одной вершины у графа «семь мостов» и перехода его в граф «закрытое письмо» (рисунок 4, а). Эта трансформация происходит при раздвоении центральной вершины с номером 3 графа на рисунке 1 на две вершины с номерами 3 и 5 на графе рисунка 4.

1 2 Ш

3 4

а)

Рис.4. Граф

б,

Можно, применяя алгоритм расчета ОЗМ с помощью целевой функции, подсчитать методом перебора примерно за 1,5 часа на компьютере с процессором в 3,4 Ггц, что для МЭГ рисунка 4, б), в) имеется по 120 ОЗМ. Можно, применяя ГА, получить ограниченное число ОЗМ, как и для графа «семь мостов».

Можно из ОЗМ для МЭГ рисунка 1, б), в) из таблицы 2 получить ОЗМ МЭГ рисунка 4, б) и в) с помощью замены вершины с номером 3, расположенной рядом с вершиной 2, на 5 и добавления одной вершины с номером 5 рядом с вершиной 3. Из 34 ОЗМ таблицы 2 можно получить в два раза больше ОЗМ для МЭГ рисунка 4, б), в). Это следует из способов трансформации каждого маршрута из таблицы 2.

Например, 6-й ОЗМ из таблицы 2 т6 = (1, 3, 4, 3, 1, 2, 4, 2, 3, 1) МЭГ рисунка 1, в) переходит в два маршрута: т61 = (1, 3, 5, 4, 3, 1, 2, 4, 2, 5, 1) и т62 = (1, 3, 4, 5, 3, 1, 2, 4, 2, 5, 1) МЭГ рисунка 4, в), а 28-й маршрут т28 = (1, 2, 3, 4, 3, 1, 3, 4, 2, 1) МЭГ рисунка 1, б) из таблицы 2 преобразуется в маршруты: т281 = (1, 2, 5, 4, 3, 5, 1, 3, 4, 2, 1), т282 = (1, 2, 5, 4, 3, 1, 5, 3, 4, 2,1) МЭГ рисунка 4, б).

Рассмотрим схему №2 группового полета БПЛА по МЭГ рисунка 1, б).

«закрытое письмо»: а - граф не имеет кратных ребер; в и г - различные МЭГ с кратными ребрами

Если при нахождении аппаратов в вершинах графа 10-го столбца схемы 2 происходит разделение вершины 3 на две 3 и 5, тогда маршруты группы должны проходит по ОЗМ нового графа с пятью вершинами. Это показано в схеме 4

Схема 4. Планирование группового полета при изменении геометрии графа

Номер столбца 1 2 3 4 5 6 7 8 9 10 11 12 13 14

1-й БПЛА ОЗМ№28 1 2 3 4 3 1 3 4 2 1| 2 5 4 3

2-й ОЗМ№28 на тбЛ 1 2 3 4 3 1| 3 5 4 3 1

3-й ОЗМ №28 на Усбр(т6,2) 1 2 3 4 3 1| 5 2

4-й Маршрут произвольный 2 4 3 1 5

Полет трех БПЛА может быть организован на основе ОЗМ МЭГ рисунка 4, б) и в) соответственно: т28,1 = (1, 2, 5, 4, 3, 5, 1, 3, 4, 2, 1) для БПЛА №1; тб1 = (1, 3, 5, 4, 3, 1, 2, 4, 2, 5, 1) для БПЛА №2; усбр(тб>2) = усбр(1, 3, 4, 5, 3, 1, 2, 4, 2, 5, 1)=(1, 5, 2, 4, 2, 1, 3, 5, 4, 3, 1) для БПЛА №3. Для БПЛА №4 подобрать ОЗМ на графе рисунка 4, б) из оставшихся возможных номеров вершин не удается. Из схемы №4 следует, что при уменьшении числа кратных ребер на графе уменьшается число ребер, на которых может находиться нескольких БПЛА.

При автоматизации процесса выбора ОЗМ с помощью программы на БЦВМ для планирования полета группы БПЛА возможно решение различных схем совместного полета с изменяемой геометрией графа в реальном времени полета.

Выводы

- алгоритм построения целевой функции позволяет различным графам поставить в соответствие различные целевые функции 2(хьх2,...,хп) из класса

многочленов от нескольких переменных в зависимости от их геометрии и МЭГ;

- целевая функция Z(x1,x2,...,xn) имеет простой код, так как является неотрицательным многочленом от нескольких переменных. Код программы минимизации целевой функции методом ГА является простым и наиболее прозрачным, так как нули многочлена совпадают с минимизирующими наборами, состоящими из номеров вершин графа, образующих ОЗМ;

- целевая функция сводит задачу на условный экстремум (3) к задаче на безусловный экстремум, что упрощает применение ГА;

- ограниченное число ОЗМ полученное ГА может быть увеличено в несколько раз за счет преобразований уобр, ураз и применения автоморфизмов графа {уавт};

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

- первое слагаемое целевой функции Z1(x1,x2,...,xn) позволяет разделить своими значениями 1 и 2 ребра графа на принадлежащие ему или нет. Подобную информацию о графе несет матрица смежности, но функция Z1(x1,x2,.,xn) приспособлена к применению ГА;

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

- существенное отличие задачи подсчета ОЗМ на произвольном графе от задачи коммивояжера, для которой ОЗМ состоит из двух маршрутов, предполагает

применение как наиболее эффективного метода генетический алгоритм [19,20,21,22,23,24] в отличие от бинарного целочисленного программирования [25,26,27];

- для сокращения времени расчета с помощью ГА важно не только разработать целевую функцию с простым программным кодом, но и адаптировать к поставленной задаче операторы кроссовера, мутации и отбора особей, то есть использовать для этих целей собственные пользовательские функции для решаемой задачи [28];

На основании всего сказанного можно отметить, что алгоритм целевой функции и ГА могут быть использованы в бортовых алгоритмах БПЛА планирования маршрутов на графах реперных точек в реальном масштабе времени.

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

1. Кристофидес Н. Теория графов. - М.: Мир, 1978. - 427 с.

2. Нечепуренко М.И., Попков В.К., Майнагашев С.М. Алгоритмы и программы решения задач на графах и сетях. - Новосибирск: Наука, 1990. - 515 с.

3. Дьяконов В.П., Круглов В.В. Инструменты биоинформатики и искусственного интеллекта. MATLAB 6.5 SP1/7/7 SP1/7 SP2+Simulink 5/6. - М.: Солон-Пресс, 2005. - 454 с.

4. Гладков Л.А., Курейчик В.В., Курейчик В.М. Генетические алгоритмы: Учебное пособие. - М: Физматлит, 2006. - 320 с.

5. Аллилуева Н.В., Руденко Э.М. Методика решения оптимизационных задач по выбору замкнутых маршрутов на графах на основе генетического алгоритма // Известия института инженерной физики. 2017. №2 (44). С. 63-69.

6. Лебедев Г.Н., Ефимов А.В., Михайлин Д.А. Оценка вектора состояния беспилотного летательного аппарата при наличии в объекте управления нелинейных элементов // Вестник Московского авиационного института. 2012. Т.19. №1. С. 1216.

7. Лебедев Г.Н., Гончаренко В.И., Румакина А.В. Модификация метода ветвей и границ для двумерной маршрутизации координированного полета группы летательных аппаратов // Мехатроника, автоматизация, управление. 2016. Т. 17, № 11. С. 783-791.

8. Лебедев Г.Н., Михайлин Д.А., Румакина А.В. Многоступенчатая идентификация неизмеряемых параметров полета при комплексировании сигналов бортовых измерительных средств // Труды МАИ. 2016. № 91. URL: http: //trudymai .ru/published.php?ID=75637

9. Антонов Д.А., Жарков М.В., Кузнецов И.М., Лунев Е.М., Пронькин А.Н. Определение навигационных параметров беспилотного летательного аппарата на базе фотоизображения и инерциальных измерений // Труды МАИ. 2016. № 91. URL: http: //trudymai .ru/published.php?ID=75632

10. Гусейнов А.Б., Маховых А.В. Структурно-параметрический синтез рационального бортового распознающего устройства в составе беспилотного летательного аппарата // Труды МАИ. 2016. № 90. URL: http: //trudymai .ru/published.php?ID=74833

11. Зенкевич С.Л., Хуа Чжу. Управление движением группы роботов в строю типа "конвой" // Мехатроника, автоматизация, управление. 2017. Т. 18. № 1. С. 30-34.

12. Гоголев А.А. Полунатурное моделирование беспилотных летательных аппаратов типа мультикоптер // Труды МАИ. 2017. № 92. URL: http://trudymai.ru/published.php?ID=77238

13. Новак К.В., Олешко В.С., Старикова И.О., Тофоров М.С. Анализ комплексов с беспилотными летательными аппаратами, применяемых силами специальных операций Соединенных Штатов Америки // Труды МАИ. 2017. № 94. URL: http: //trudymai. ru/published.php?ID=80936

14. Rohde S. Link quality dependent mobility strategies for distributed aerial sensor networks // GLOBECOM Workshops (GC Wkshps), Dortmund, Germany, 2010 IEEE, pp. 1783-1787.

15. Sahingoz O.K. Networking Models in Flying Ad-Hoc Networks (FANETs): Concepts and Challenges // Journal of Intelligent & Robotic Systems. 2014. Vol. 74, no. 1-2, pp. 513-527.

16. Зенкевич С.Л., Болотин Е.И. О планировании в мультиагентных системах, использующих методы искусственного интеллекта. // Мехатроника, автоматизация, управление. 2014. № 11. С. 21-27.

17. Зенкевич С.Л., Галустян Н.К. Децентрализованное управление группой квадрокоптеров // Мехатроника, автоматизация, управление. 2016. Т. 17. № 11. C. 774-782.

18. Kothari M., Postlethwaite I., Gu D., Multi-UAV path planning in obstacle rich environments using rapidly-exploring random trees // Proc. Of the combined 48th IEEE

Conference on Decision and Control and 28th Chinese Control Conference, December 1618, 2009, Shanghai P.R. China, pp. 3069-3074.

19. He P., Dai S. Stealth Real-time Paths Planning for Heterogeneous UAV Formation Based on Parallel Niche Genetic Algorithm // Journal of Computational Information Systems, 2014, pp. 6731-6740.

20. Hassanzadeh R., Mahdavi I., Mahdavi-Amiri N., Tajdin A. A genetic algorithm for solving fuzzy shortest path problems with mixed fuzzy arc lengths // Mathematical and Computer Modelling. 2013. no. 7 (1), pp. 84-99.

21. Sharma Y., Saini S.C., Bhandhari M. Comparison of Dijkstra's Shortest Path Algorithm with Genetic Algorithm for Static and Dynamic Routing Network // International Journal of Electronics and Computer Science Engineering, ISSN-2277-1956/V1N2. 2012, pp. 416-425.

22. Zhu X., Luo W., Zhu T. An Improved Genetic Algorithm for Dynamic Shortest Path Problems // IEEE Congress on Evolutionary Computation (CEC), Beijing, China, 2014, pp 2093-2100.

23. Wagner M., Neumann F. Single- and Multi-Objective Genetic Programming: New Runtime Results for SORTING // IEEE Congress on Evolutionary Computation (CEC). Beijing. China. 2014. pp. 125-133.

24. Kim J.W., Kim S.K. Fitness switching genetic algorithm for solving combinatorial optimization problems with rare feasible solutions // The Journal of Supercomputing. September 2016. Vol. 72. Issue 9, pp. 3549-3571.

25. Иглин С.П. Математические расчеты на базе MATLAB. - СПб.: БХВ-Петербург, 2005. - 640 с.

26. Лиго Т., Фомичев А.В. Планирование пространственного маршрута полета беспилотного летательного аппарата с использованием методов частично целочисленного линейного программирования // Вестник МГТУ им. Н.Э. Баумана. Серия: Приборостроение. 2016. № 2. С. 53-66.

27. Моисеев Д.В., Чинь Ван Минь Вычислительные аспекты и прикладное программное обеспечение оптимальной маршрутизации полета легкого беспилотного летательного аппарата в поле постоянного ветра // Интернет-журнал Науковедение. 2017. Т. 9. № 3. URL: http: //naukovedenie.ru/PDF/102TVN317.pdf

28. Zadeh S.M., Powers D., Sammut K. Optimal Route Planning with Prioritized Task Scheduling for AUV Missions Article, University, Adelaide, SA 5042, Australia, 2016. pp. 1-8. URL: https://www.researchgate.net/publication/301816813. pdf

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