Scientific journal
Modern high technologies
ISSN 1812-7320
"Перечень" ВАК
ИФ РИНЦ = 0,940

DEVELOPMENT AND ANALYSIS OF A MODEL OF THE TRANSPORT COMPANY USING VISUAL STUDIO

Zhuravlev A.A. 1 Aksenov K.A. 1
1 Ural Federal University
Recently, modeling has played an important role in people’s lives. It helps people to anticipate the consequences of a particular activity, make informed and thoughtful decisions, and also make specific plans for the future. In this article, using Visual Studio, a model of the transport company engaged in cargo transportation will be developed. The company consists of 9 carrier agents that fulfill the order, as well as 1 agent manager who issues tasks to carriers. The manager informs the carriers the number of goods K and the distance L, which must be covered for transportation. The carrier agent receives a message, places the order data in a temporary storage, based on the data and its own settings, calculates the cost of transportation and generates proposals for the manager with the cost of the order. The cost of transportation is calculated by each carrier agent on the basis of the formula S = K*L ± 0.2* K*L. The manager considers the proposals, analyzes and assigns the task to the agent who has offered the lowest price for the transportation. The following indicators will be estimated for this model: average queue length, average agent workload (in percent), and also the average percentage of completed tasks by each agent depending on the total number of agents; the number of agents ranged from 5 to 9. The experiment with 9 carrier agents had the best performance and the worst with 5 agents.
development
transport company
agent
carrier
manager
Visual Studio
analysis

В последнее время моделирование играет важную роль в жизни людей. Оно помогает людям предвидеть последствия той или иной деятельности, принимать обоснованные и продуманные решения, а также строить определенные планы на будущее. В данной статье с помощью среды Visual Studio будет разработана модель транспортной компании, занимающейся грузоперевозкой. Компания состоит из 9 агентов-перевозчиков, выполняющих заказ, а также 1 агента-менеджера, выдающего задания перевозчикам. В данной статье будет проведен анализ критериев, таких как средняя длина очереди, средняя загруженность агентов (в процентах), а также средний процент выполненных заданий каждым агентом в зависимости от общего числа агентов. Модель будет разрабатываться с помощью Visual Studio [1; 2].

Цель статьи: провести анализ модели транспортной компании, разработанной в Visual Studio. В качестве изменяющихся величин будет взято число агентов-перевозчиков, которое будет варьироваться от 5 до 9.

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

В статье используется эмпирический метод исследования, поскольку основной источник результатов – эксперимент.

Описание транспортной компании

Модель состоит из агента-менеджера судостроительной компании и 9 агентов-перевозчиков. Компания объявляет заказы на транспортировку грузов с интервалом 5 ± 3 дня. Взаимодействие компании с перевозчиками осуществляется по принципам протокола контрактных сетей. Перевозчики могут иметь либо статус исполнителя, либо статус подрядчика. Менеджер сообщает перевозчикам число товаров K и расстояние L, которое требуется преодолеть для перевозки. Агент-перевозчик получает сообщение, помещает данные заказа во временное хранилище, на основании данных и собственных установок рассчитывает стоимость транспортировки и формирует предложения для менеджера со стоимостью заказа. Менеджер рассматривает предложения, анализирует и назначает задание (отправляет сообщение «принято») агенту, предложившему наименьшую цену за выполнение транспортировки, остальным агентам отправляет сообщение «отказано». Агент-перевозчик, получивший сообщение, приобретает статус подрядчика и приступает к выполнению задания, остальные агенты удаляют данные из памяти. Агент, имеющий статус подрядчика, не может принимать и отвечать на другие сообщение менеджера. По завершении транспортировки агент информирует менеджера о выполнении задания и возвращается к статусу исполнителя. Таким образом, менеджер может выполнять следующие действия: {«объявить заказ», «получить предложение», «выбрать оптимальное предложение», «назначить задание», «получить сообщение о выполнении задания»}; перевозчик имеет набор действий: {«получить заказ», «сформировать предложение», «отправить предложение», «получить подтверждение», «получить отказ», «приступить к выполнению задания», «сообщить о выполнении»}.

Стоимость перевозки рассчитывается каждым агентом-перевозчиком на основании формулы S = K*L ± 0.2* K*L. Значения K и L изменяются для каждого заказа в диапазонах: K = [100, 500], L = [1, 15]. Время выполнения заказа T = L дней. Время формирования предложений по заказу – 3 дня. Время обработки предложений агентом-менеджером – 1 день. Время моделирования составляет 1 год (366 дней).

Задание

Провести отдельные эксперименты – варьировать на входе число агентов перевозчиков от 5 до 9. На выходе оценить процент выполненных заказов, среднюю загруженность одного агента-перевозчика в процентах от времени моделирования, среднюю длину очереди заказов. Свести полученные результаты всех экспериментов в таблицу. Сделать выводы об эксперименте с лучшим результатом.

Разработка модели транспортной компании

В качестве среды моделирования выбрана Visual Studio. Программа написана на языке C#. Моделирование выполнено в соответствии с условием задания. Предварительно написаны классы Manager (класс агента-менеджера), Carrier (класс агента-перевозчика), Order (класс заказа), Suggestion (класс предложения). Время выполнения и поступления для каждого заказа определялись случайным образом с помощью класса Random пространства имен System [3–6].

Для данной модели проведен ряд испытаний для разного количества агентов-перевозчиков, число которых варьируется от 5 до 9. Рассчитаны средняя длина очереди заказов, средняя загруженность для каждого агента, средний процент выполненных заданий в зависимости числа агентов. Длина очереди – количество заказов, во время которых все агенты заняты. Загруженность перевозчика – отношение количества дней, в которые агент работал, к общему времени моделирования, выраженное в процентах. Процент выполненных заданий – отношение заданий, сделанных всеми агентами, к числу поступивших заданий, выраженное в процентах.

Длину очереди будем рассчитывать по следующей формуле:

gurav01.wmf (1)

где lср – средняя длина очереди, li – длина очереди в i-м эксперименте, N – количество экспериментов.

Загруженность перевозчика вычисляется по следующей формуле:

gurav02.wmf (2)

где n – загруженность агента, ni – загруженность агента в i-м эксперименте, N – количество экспериментов, T – период моделирования (366 дней).

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

gurav03.wmf / cобщ*100 %, (3)

где c – процент выполненных заданий, ci – количество заданий выполненных i-м агентом, cобщ – общее количество поступивших заданий, N – количество заданий.

Результат работы программы для 9 агентов представлен на рис. 1–3.

Guravlev1.tif

Рис. 1. Начало моделирования для 9 агентов-перевозчиков

Guravlev2.tif

Рис. 2. Конец моделирования для 9 агентов-перевозчиков

Guravlev3.tif

Рис. 3. Вывод искомых характеристик для 9 агентов-перевозчиков

Анализ модели транспортной компании

Результаты экспериментов (всего проведено 5 экспериментов) для 9 агентов приведены в табл. 1–3.

Таблица 1

Длина очереди для 9 агентов-перевозчиков

Номер испытания

1

2

3

4

5

Длина очереди

0

0

0

0

0

Средняя длина очереди:

lср = (0 + 0 + 0 + 0 + 0) / 5 = 0,0.

Таблица 2

Количество дней, которые агент отработал в течение года для 9 агентов-перевозчиков

Номер испытания

1

2

3

4

5

Нагрузка агента № 1

78

53

93

40

85

Нагрузка агента № 2

89

67

69

41

65

Нагрузка агента № 3

63

56

54

58

65

Нагрузка агента № 4

54

37

52

64

42

Нагрузка агента № 5

71

90

67

58

57

Нагрузка агента № 6

75

67

49

66

45

Нагрузка агента № 7

45

56

59

76

43

Нагрузка агента № 8

61

41

56

49

73

Нагрузка агента № 9

76

82

106

44

71

 

Средняя загруженность (количество дней в году, которые агент работал) каждого агента:

n1 = (78 + 53 + 93 + 40 + 85) / 5 / 366 * 100 % ≈ 19,07 %;

n2 = (89 + 67 + 69 + 41 + 65) / 5 / 366 * 100 % = 18,08 %;

n3 = (63 + 56 + 54 + 58 + 65) / 5 / 366 * 100 % = 16,17 %;

n4 = (54 + 37 + 52 + 64 + 42) / 5 / 366 * 100 % = 13,61 %;

n5 = (71 + 90 + 67 + 58 + 57) / 5 / 366 * 100 % = 18,74 %;

n6 = (75 + 67 + 49 + 66 + 45) / 5 / 366 * 100 % = 16,50 %;

n7 = (45 + 56 + 59 + 76 + 43) / 5 / 366 * 100 % = 15,25 %;

n8 = (61 + 41 + 56 + 49 + 73) / 5 / 366 * 100 % = 15,46 %;

n9 = (76 + 82 + 106 + 44 + 71) / 5 / 366 * 100 % = 20,71 %.

Средняя загруженность всех агентов (в процентах):

nср = (19,07 + 18,08 + 16,17 + 13,61 + 18,74 + + 16,50 + 15,25 + 15,46 + 20,71) / 9 ≈ 17,07 %.

Таблица 3

Количество выполненных заказов для 9 агентов-перевозчиков

Номер испытания

1

2

3

4

5

Сделанные задания агентом № 1

10

6

13

6

9

Сделанные задания агентом № 2

11

11

7

7

8

Сделанные задания агентом № 3

7

8

8

5

9

Сделанные задания агентом № 4

4

7

9

8

10

Сделанные задания агентом № 5

11

13

6

9

7

Сделанные задания агентом № 6

7

7

6

8

8

Сделанные задания агентом № 7

8

8

6

7

4

Сделанные задания агентом № 8

5

5

7

7

8

Сделанные задания агентом № 9

11

9

12

6

11

Количество выполненных заданий всеми агентами

74

74

74

63

74

Всего заданий

74

74

74

63

74

 

Средний процент выполненных заданий:

cср = ((74/74) + (74/74) + (74/74) + + (63/63) + (74/74)) / 5 * 100 % = 100 %.

Аналогичные расчеты были выполнены для экспериментов с количеством агентов, равных 5, 6, 7 и 8. Результаты анализа представлены в табл. 4.

Таблица 4

Сводная таблица результатов экспериментов

Количество

агентов

5

6

7

8

9

Средняя длина очереди

7,0

4,0

1.0

0,0

0,0

Средняя загруженность агента, %

28,92

25,34

23,24

20,59

17,07

Средний процент выполненных заданий

91,0

94,5

98,7

100

100

 

Как видно из результатов, начиная с 7 агентов и меньше, длина очереди заказов и суммарное количество принятых заказов начинают различаться. Это связано с одновременной занятостью всех агентов.

Эксперимент с 9 агентами обладает наилучшими результатами, поскольку он имеет наименьшее значение средней длины очереди (0), наименьшее значение средней загруженности одного агента (17.07 %) и наибольший процент выполненных заданий (100 %). Следовательно, данный случай является самым эффективным.

Эксперимент с 5 агентами обладает наихудшими результатами, поскольку он имеет наименьшее значение средней длины очереди (7), наименьшее значение средней загруженности одного агента (28.92 %) и наибольший процент выполненных заданий (91 %). Следовательно, данный случай является наименее эффективным.

Заключение

В данной статье разработана модель транспортной компании с помощью Visual Studio в соответствии с условиями задания. Модель включает в себя 9 агентов-перевозчиков, выполняющих заказ, а также 1 агента-менеджера, выдающего задания перевозчикам. Для данной модели оценены средняя длина очереди, средняя загруженность агентов (в процентах), а также средний процент выполненных заданий каждым агентом в зависимости от общего числа агентов; число агентов варьировалось от 5 до 9. Лучшими результатами обладает эксперимент с 9 агентами-перевозчиками, худшими – с 5 агентами.